Promise
by bakhshi
JavaScript
'use strict';
function getPromise(fail) {
return new Promise(function (resolver, rejecter) {
setTimeout(() => {
if (fail) rejecter({
message: 'rejected'
});
else resolver({
message: 'done ok!'
});
}, 1000);
});
}
function processPromise(promise) {
promise.then((data) => {
console.log('resolved', data);
data.processed = true;
return data;
}).
catch ((err) => {
console.log('rejected', err);
return {
message: 'recovered'
};
}).
then((data) => {
console.log('recovered', data);
});
}
processPromise(getPromise(true));
processPromise(getPromise(false));