forked from cerc-io/plugeth
proper error handling proposal
This commit is contained in:
parent
b0e11826e5
commit
0d6479e1d6
@ -40,7 +40,8 @@
|
||||
|
||||
return {
|
||||
_id: object.id,
|
||||
data: object.result
|
||||
data: object.result,
|
||||
error: object.error
|
||||
};
|
||||
};
|
||||
|
||||
@ -70,7 +71,7 @@
|
||||
var self = this;
|
||||
this.sendRequest(payload, function (request) {
|
||||
var parsed = JSON.parse(request.responseText);
|
||||
if (parsed.result instanceof Array ? parsed.result.length === 0 : !parsed.result) {
|
||||
if (parsed.error || (parsed.result instanceof Array ? parsed.result.length === 0 : !parsed.result)) {
|
||||
return;
|
||||
}
|
||||
self.handlers.forEach(function (handler) {
|
||||
|
26
main.js
26
main.js
@ -153,15 +153,15 @@
|
||||
return {call: call, args: args};
|
||||
}).then(function (request) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
web3.provider.send(request, function (result) {
|
||||
if (result || typeof result === "boolean") {
|
||||
web3.provider.send(request, function (err, result) {
|
||||
if (!err) {
|
||||
resolve(result);
|
||||
return;
|
||||
}
|
||||
reject(result);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}).catch(function( err) {
|
||||
}).catch(function(err) {
|
||||
console.error(err);
|
||||
});
|
||||
};
|
||||
@ -173,8 +173,12 @@
|
||||
var proto = {};
|
||||
proto.get = function () {
|
||||
return new Promise(function(resolve, reject) {
|
||||
web3.provider.send({call: property.getter}, function(result) {
|
||||
resolve(result);
|
||||
web3.provider.send({call: property.getter}, function(err, result) {
|
||||
if (!err) {
|
||||
resolve(result);
|
||||
return
|
||||
}
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -182,12 +186,12 @@
|
||||
proto.set = function (val) {
|
||||
return flattenPromise([val]).then(function (args) {
|
||||
return new Promise(function (resolve) {
|
||||
web3.provider.send({call: property.setter, args: args}, function (result) {
|
||||
if (result) {
|
||||
web3.provider.send({call: property.setter, args: args}, function (err, result) {
|
||||
if (!err) {
|
||||
resolve(result);
|
||||
} else {
|
||||
reject(result);
|
||||
return
|
||||
}
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}).catch(function (err) {
|
||||
@ -438,7 +442,7 @@
|
||||
if(data._id) {
|
||||
var cb = web3._callbacks[data._id];
|
||||
if (cb) {
|
||||
cb.call(this, data.data)
|
||||
cb.call(this, data.error, data.data)
|
||||
delete web3._callbacks[data._id];
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user