JavaScript Promises
Asynchronous programming with Promises in JavaScript.
Promise Basics
function sum (a, b) {
return Promise(function (resolve, reject) {
setTimeout(function () {
if (typeof a !== "number" || typeof b !== "number") {
return reject(new TypeError("Inputs must be numbers"));
}
resolve(a + b);
}, 1000);
});
}
Using Promises
var myPromise = sum(10, 5);
myPromise.then(function (result) {
document.write(" 10 + 5: ", result);
return sum(null, "foo"); # Invalid data
}).then(function () { # Won't be called
}).catch(function (err) { # The catch handler
console.error(err);
});
Promise States
pending, fulfilled, rejected
Promise Methods
Promise.all(iterable)
Promise.race(iterable)
Promise.reject(reason)
Promise.resolve(value)