Пример #1
0
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);	
	`)
}
Пример #2
0
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()
}
Пример #3
0
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)
}