func main() { m := v8d.NewMessageDispatcher() a := HttpAPI{} a.Register(m) m.Worker().Load("myjson-sample.js", ` var doc = HttpAPI.get("https://api.myjson.com/bins/58is1") console.log("doc",doc); `) }
func main() { flag.Parse() fmt.Println("V8D is ready") v8d = v8dispatcher.NewMessageDispatcher() // override default log v8d.RegisterFunc("console.log", func(msg v8dispatcher.MessageSend) (interface{}, error) { fmt.Println(msg.Arguments...) return nil, nil }) // set debug level v8d.Trace(*verbose) loop() }
func main() { m := v8d.NewMessageDispatcher() m.Trace(true) m.RegisterFunc("setTimeout", func(msg v8d.MessageSend) (interface{}, error) { fnc := msg.Arguments[0].(string) ms := time.Duration(msg.Arguments[1].(float64)) * time.Millisecond go func() { time.Sleep(ms) m.Callback(fnc) }() return nil, nil }) m.Worker().Load("setTimeout.js", ` function setTimeout(func,ms){ V8D.call("","setTimeout",V8D.function_registry.put(func),ms); } `) m.Worker().Load("test.js", ` setTimeout(function(){ console.log("timed out"); }, 1000); `) time.Sleep(1500 * time.Millisecond) }