Promises are the alternatives of callbacks for delivering the results of asnchronous computations. From the implementation point of view callbacks are easier to implement, promises need some efforts. A promise is used for asynchronous calculations.
The core idea behind promises promise represents the results of an asynchronous operation.
A promise have 3 states:
1: Pending
This is the initial state of the promise.
2. Fulfilled
This represent that the operation is successful.
3: Rejected
This represent that the operation is failed.
Example:
var Promise = require('promise');
ar promise = new Promise(function(resolve, reject){
request("http://www.google.com", function(error, response, body) {
console.log("google block...");
if (error) { reject(error) }
else resolve(body);
});
});
promise
.then(function(result){
console.log(result)
})
.catch(function(err) {
console.log("This is error block")
console.log(err);
})
.finally(function() {
console.log("Final block..");
})
You can get the result of both the function at final:-
var asyncFunc1 = function() {
return "test1"
};
var asyncFunc2 = function() {
return "test2"
}
Promise.all([
asyncFunc1(),
asyncFunc2(),
])
.then(([result1, result2]) => {
console.log(result1)
console.log(result2);
})
.catch(err => {
// Receives first rejection among the Promises
onsole.log("erro block");
console.log(result1);
console.log(result2);
});
/*Result:
result1
result2
*/
0 Comment(s)