Merge pull request #876 from obscuren/jsre_fixes
jsre, cmd/geth: updated web3.js and altered settimeout
This commit is contained in:
commit
15bfae52d2
@ -117,12 +117,6 @@ func (js *jsre) apiBindings(f xeth.Frontend) {
|
||||
utils.Fatalf("Error loading bignumber.js: %v", err)
|
||||
}
|
||||
|
||||
// we need to declare a dummy setTimeout. Otto does not support it
|
||||
_, err = js.re.Eval("setTimeout = function(cb, delay) {};")
|
||||
if err != nil {
|
||||
utils.Fatalf("Error defining setTimeout: %v", err)
|
||||
}
|
||||
|
||||
err = js.re.Compile("ethereum.js", re.Ethereum_JS)
|
||||
if err != nil {
|
||||
utils.Fatalf("Error loading ethereum.js: %v", err)
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 3b799d128452639463424c657956ee90a28daec6
|
||||
Subproject commit 08f3aaea8cad2cf07276d6709e2ee384afe90d3c
|
File diff suppressed because one or more lines are too long
10
jsre/jsre.go
10
jsre/jsre.go
@ -143,6 +143,10 @@ func (self *JSRE) runEventLoop() {
|
||||
}
|
||||
return otto.UndefinedValue()
|
||||
}
|
||||
self.vm.Set("setTimeout", setTimeout)
|
||||
self.vm.Set("setInterval", setInterval)
|
||||
self.vm.Set("clearTimeout", clearTimeout)
|
||||
self.vm.Set("clearInterval", clearTimeout)
|
||||
|
||||
var waitForCallbacks bool
|
||||
|
||||
@ -165,7 +169,7 @@ loop:
|
||||
_, err := self.vm.Call(`Function.call.call`, nil, arguments...)
|
||||
|
||||
if err != nil {
|
||||
break loop
|
||||
fmt.Println("js error:", err, arguments)
|
||||
}
|
||||
if timer.interval {
|
||||
timer.timer.Reset(timer.duration)
|
||||
@ -177,10 +181,6 @@ loop:
|
||||
}
|
||||
case evalReq := <-self.evalQueue:
|
||||
// run the code, send the result back
|
||||
self.vm.Set("setTimeout", setTimeout)
|
||||
self.vm.Set("setInterval", setInterval)
|
||||
self.vm.Set("clearTimeout", clearTimeout)
|
||||
self.vm.Set("clearInterval", clearTimeout)
|
||||
evalReq.fn(&evalReq.res)
|
||||
close(evalReq.done)
|
||||
if waitForCallbacks && (len(registry) == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user