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