Promises Flashcards Preview

Phase_2 > Promises > Flashcards

Flashcards in Promises Deck (10)
Loading flashcards...

Describe the difference between a JS Promise being fulfilled and it being rejected.

A Promise that is fulfilled means it successfully executed and returned the desired result, a rejected promise means it failed. Every promise function can use a resolve and reject method to accomplish either of the above.


Use .then to handle when a JS Promise is fulfilled

Promise is a method, a global method available to Node. This means you never have to require it into your app.

Promise itself takes one argument: an anonymous function. That anonymous function takes resolve and reject arguments. Note: inside our anon function we handle the reject( ) and the resolve( ) methods!

Our Promise function can have a then( ) appended to it.
Our Promise function can also have a catch( ) appended.

You can also choose to call Promise.resolve( ) or Promise.reject( ) and append either one with your then( ) and/or catch( ).

This is one way to use the Promise( ). We could also choose to write a function that returns a new Promise( ).


Use .catch to handle when a JS Promise is rejected

Promise.resolve( )
.catch( finalErrorHandler );

// insulated catches below
Promise.resolve( )
.then(function() { return Function1().catch(errorHandler1); })
.then(function() { return Function2().catch(errorHandler2); })
.then(function() { return Function3().catch(errorHandler3); })
.then(function() { return Function4().catch(errorHandler4); })
.catch( finalErrorHandler );


Use .then to chain JS Promises.

Promise.resolve( )
.catch( finalErrorHandler );

// insulated catches below
Promise.resolve( )
.then( function( ) { return Function1().catch(errorHandler1); })
.then( function( ) { return Function2().catch(errorHandler2); })
.then( function( ) { return Function3().catch(errorHandler3); })
.then( function( ) { return Function4().catch(errorHandler4); })
.catch( finalErrorHandler );


Create a new Promise in JS

var p1 = new Promise( (resolve, reject) => {
// or
// reject ("Error!");
} );

p1.then( value => {
console.log(value); // Success!
}, reason => {
console.log(reason); // Error!
} );


Convert a function that uses callbacks into function that returns a JS promise

Rly simple.


Describe and use Promise.all( ) in JS

Promise.all( iterable );

An iterable is an object such as an array or a string. Think of this as a map function, we pass into our all( ) an array of objects and then we append a then( ) method to the end of the all( ) and do something with the iterator values.

var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, 'foo');

Promise.all([p1, p2, p3]).then(values => {
console.log(values); // [3, 1337, "foo"]


Describe and use Promise.race( ) in JS

Promise.race( iterable );

The race method on the Promise object resolves or rejects a promise as soon as one of the promises in the iterable completes.


Describe and use Promise.reject( ) in JS

Promise.reject( iterable );


Describe and use Promise.resolve( ) in JS

Promise.resolve( value );
Promise.resolve( promise );
Promise.resolve( thenable );