A Promise encompasses both the code that produces a result and the code that consumes or handles that result.
let myPromise = new Promise(function(myResolve, myReject) { // “Producing Code” (May take some time) myResolve(); // when successful myReject(); // when error }); // “Consuming Code” (Must wait for a fulfilled Promise) myPromise.then( function(value) { /* code if successful */ }, function(error) { /* code if some error */ } ); |
When the producing code obtains the result, it should invoke one of the two callbacks.
When |
Call |
Success |
myResolve(result) |
Error |
myReject(error) |