log(result), // shows "done!" error => log(error) // doesn't run ); const getCall = async () => { let x = await doCall() log(x) } /* other example */ const add = (a, b) => { return new Promise((resolve, reject) => { setTimeout(() => { if (a < 0 || b < 0) { return reject('Numbers must be non-negative') } resolve(a + b) }, 2000) }) } add(1, 2).then((sum) => { console.log(sum) // Will print 3 return add(sum, 4) }).then((sum2) => { console.log(sum2) // Will print 7 }).catch((e) => { console.log(e) }) const doWork = async () => { const sum = await add(1, 99) const sum2 = await add(sum, 50) const sum3 = await add(sum2, 3) return sum3 } doWork().then((result) => { console.log('result', result) }).catch((e) => { console.log('e', e) }) "> log(result), // shows "done!" error => log(error) // doesn't run ); const getCall = async () => { let x = await doCall() log(x) } /* other example */ const add = (a, b) => { return new Promise((resolve, reject) => { setTimeout(() => { if (a < 0 || b < 0) { return reject('Numbers must be non-negative') } resolve(a + b) }, 2000) }) } add(1, 2).then((sum) => { console.log(sum) // Will print 3 return add(sum, 4) }).then((sum2) => { console.log(sum2) // Will print 7 }).catch((e) => { console.log(e) }) const doWork = async () => { const sum = await add(1, 99) const sum2 = await add(sum, 50) const sum3 = await add(sum2, 3) return sum3 } doWork().then((result) => { console.log('result', result) }).catch((e) => { console.log('e', e) }) "> log(result), // shows "done!" error => log(error) // doesn't run ); const getCall = async () => { let x = await doCall() log(x) } /* other example */ const add = (a, b) => { return new Promise((resolve, reject) => { setTimeout(() => { if (a < 0 || b < 0) { return reject('Numbers must be non-negative') } resolve(a + b) }, 2000) }) } add(1, 2).then((sum) => { console.log(sum) // Will print 3 return add(sum, 4) }).then((sum2) => { console.log(sum2) // Will print 7 }).catch((e) => { console.log(e) }) const doWork = async () => { const sum = await add(1, 99) const sum2 = await add(sum, 50) const sum3 = await add(sum2, 3) return sum3 } doWork().then((result) => { console.log('result', result) }).catch((e) => { console.log('e', e) }) ">
const doCall = () => {
let promise = new Promise(function(resolve, reject) {
setTimeout(() => resolve("done!"), 1000);
});
return promise
}
// resolve runs the first function in .then
doCall().then(
result => log(result), // shows "done!"
error => log(error) // doesn't run
);
const getCall = async () => {
let x = await doCall()
log(x)
}
/* other example */
const add = (a, b) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (a < 0 || b < 0) {
return reject('Numbers must be non-negative')
}
resolve(a + b)
}, 2000)
})
}
add(1, 2).then((sum) => {
console.log(sum) // Will print 3
return add(sum, 4)
}).then((sum2) => {
console.log(sum2) // Will print 7
}).catch((e) => {
console.log(e)
})
const doWork = async () => {
const sum = await add(1, 99)
const sum2 = await add(sum, 50)
const sum3 = await add(sum2, 3)
return sum3
}
doWork().then((result) => {
console.log('result', result)
}).catch((e) => {
console.log('e', e)
})