You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

27 lines
678 B

package jsruntime
import (
"github.com/dop251/goja"
"time"
)
func (jr *JsRuntime) EnableTimeoutFunc() {
jr.runtime.Set("setTimeout", func(call goja.FunctionCall) goja.Value {
//log.Println("setTimeout")
//log.Println(call.Argument(0))
if fn, ok := goja.AssertFunction(call.Argument(0)); ok {
delay := call.Argument(1).ToInteger()
var args []goja.Value
if len(call.Arguments) > 2 {
args = call.Arguments[2:]
}
time.Sleep(time.Duration(delay) * time.Millisecond)
fn(nil, args...)
//log.Println("setTimeout ok")
}
return jr.runtime.ToValue(123124512)
})
jr.runtime.Set("clearTimeout", func(i int64) {
//log.Println("clearTimeout")
})
}