代码拉取完成,页面将自动刷新
package main
import (
"fmt"
"log"
"time"
"utils/ulog"
"github.com/fsnotify/fsnotify"
)
var JScodeDATA chan struct{} = make(chan struct{}, 1) //js代码内存,用于加速读取js代码
var watcherFile string
var timeonce bool
func Filewatch() {
var path string
if con.Jscode.Loadfromfile == "" {
path = "Hconfig.xml"
} else {
path = con.Jscode.Loadfromfile
}
watcher, err := fsnotify.NewWatcher()
if err != nil {
log.Fatal(err)
}
defer watcher.Close()
done := make(chan bool)
go func() {
for {
select {
case event, ok := <-watcher.Events:
if !ok {
return
}
if event.Op&fsnotify.Write == fsnotify.Write {
if timeonce == false {
time.AfterFunc(2*time.Second, func() {
JScodeDATA <- struct{}{}
timeonce = false
})
timeonce = true
}
fmt.Println("writing", time.Now())
}
if event.Op&fsnotify.Remove == fsnotify.Remove {
log.Println("Remove file:", event.Name)
}
case err, ok := <-watcher.Errors:
if !ok {
return
}
log.Println("error:", err)
}
}
}()
err = watcher.Add(path)
if err != nil {
ulog.Println(err)
}
<-done
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。