About 1 to 2 hours
Apprentices will be able to:
new Promise(((resolve, reject) => {}))
promise.then()
Promise.all()
fetch
(like AJAX but built into most browsers)function counter(cb) {
console.log('inside counter function ');
cb(); //here callback function gets called by counter()
}
counter(function(){
console.log('inside callback function');
});
function counter(cb){
console.log('inside counter function ');
cb();
}
counter(function(){
console.log('inside callback function');
counter(function(){
console.log('inside callback function');
});
});
There’s got to be an easier way to write things that depend on each other, right? Promises.
Promise
and pass a callback to its then
method. Create callback that uses setTimeout
to mimic latency (network/database delay). The callback passed to setTimeout
will resolve the promise (use the parameter).then
with a callback that console.logs something to show the flow of execution.const isMomHappy = true;
// Promise
const willIGetNewPhone = new Promise(
(resolve, reject) => {
if (isMomHappy) {
const phone = {
brand: 'Samsung',
color: 'black'
};
resolve(phone);
} else {
const reason = new Error('mom is not happy');
reject(reason);}
}
);
const showOff = function (phone) {
const message = 'Hey friend, I have a new ' +
phone.color + ' ' + phone.brand + ' phone';
return Promise.resolve(message);
};
// call our promise
const askMom = function () {
willIGetNewPhone
.then(showOff)
.then(fulfilled => console.log(fulfilled))
.catch(error => console.log(error.message));
};
askMom();
setTimeout
times.catch
method (like how you did with then
) to this promise, and pass another callback. Which promise parameter can you use to pass control from then
to catch
?status
.status
again, has it changed?