watches are calling callback with a single result object, not a full jsonrpc response

This commit is contained in:
Marek Kotewicz 2015-01-26 16:22:40 +01:00
parent 81bbe8c93b
commit d0b6f3663b
5 changed files with 18 additions and 14 deletions

10
dist/ethereum.js vendored

@ -574,7 +574,9 @@ Filter.prototype.changed = function(callback) {
/// trigger calling new message from people /// trigger calling new message from people
Filter.prototype.trigger = function(messages) { Filter.prototype.trigger = function(messages) {
for (var i = 0; i < this.callbacks.length; i++) { for (var i = 0; i < this.callbacks.length; i++) {
this.callbacks[i].call(this, messages); for (var j = 0; j < messages; j++) {
this.callbacks[i].call(this, messages[j]);
}
} }
}; };
@ -716,12 +718,12 @@ var ProviderManager = function() {
result = JSON.parse(result); result = JSON.parse(result);
// dont call the callback if result is an error, empty array or false // dont call the callback if result is not an array, or empty one
if (result.error || (result.result instanceof Array ? result.result.length === 0 : !result.result)) { if (result.error || !(result.result instanceof Array) || result.result.length === 0) {
return; return;
} }
data.callback(result); data.callback(result.result);
}); });
} }
setTimeout(poll, 12000); setTimeout(poll, 12000);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -48,7 +48,9 @@ Filter.prototype.changed = function(callback) {
/// trigger calling new message from people /// trigger calling new message from people
Filter.prototype.trigger = function(messages) { Filter.prototype.trigger = function(messages) {
for (var i = 0; i < this.callbacks.length; i++) { for (var i = 0; i < this.callbacks.length; i++) {
this.callbacks[i].call(this, messages); for (var j = 0; j < messages; j++) {
this.callbacks[i].call(this, messages[j]);
}
} }
}; };

@ -49,12 +49,12 @@ var ProviderManager = function() {
result = JSON.parse(result); result = JSON.parse(result);
// dont call the callback if result is an error, empty array or false // dont call the callback if result is not an array, or empty one
if (result.error || (result.result instanceof Array ? result.result.length === 0 : !result.result)) { if (result.error || !(result.result instanceof Array) || result.result.length === 0) {
return; return;
} }
data.callback(result); data.callback(result.result);
}); });
} }
setTimeout(poll, 12000); setTimeout(poll, 12000);