Promise.try
Promise.try(function() fn) -> Promise
Promise.attempt(function() fn) -> Promise
Start the chain of promises with Promise.try
. Any synchronous exceptions will be turned into rejections on the returned promise.
function getUserById(id) {
return Promise.try(function() {
if (typeof id !== "number") {
throw new Error("id must be a number");
}
return db.getUserById(id);
});
}
Now if someone uses this function, they will catch all errors in their Promise .catch
handlers instead of having to handle both synchronous and asynchronous exception flows.
For compatibility with earlier ECMAScript version, an alias Promise.attempt
is provided for
.
Promise.try