Promise in javascript is one of the commonly asked questions in JS based interviews these days and also a very helpful concept to learn in javascript.
Promise : What is it?
Promise are similar to real life promise. You always make a promise for a event in future.
Suppose you make a promise to attend a friend's upcoming birthday. There are three states for this promise
Pending state - Till the birthday event occurs, it will be in pending state.
Successful state - The birthday finally comes and you have successfully kept your promise.
Rejected state - The birthday happened but you weren't able to attend and keep your promise due to some issue.
Promise : The Code
new Promise( /* executor */ function(resolve, reject) { ... } );
Promises are used for asynchronous operations where a wait period is usually involved like API calls, I/O operations, file handling etc.
let attendBirthday = true
promise1 = new Promise(function(resolve, reject) {
if (attendBirthday) {
resolve("Happy Birthday ");
} else {
reject("Sorry I wasnt able to attend");
}
});
console.log(promise1);
The resolve status gives out value as "Happy Birthday" since the promise is resolved successfully. However, in case the promise returns reject state the value "Sorry I wasnt able to attend" would be returned.
Chaining promise would be covered in the next post.