const add =
function
(a, b, callback) {
setTimeout(() => {
callback(a + b);
}, 2000);
};
add(1, 2, (sum1) => {
add(3, sum1, (sum2) => {
add(4, sum2, (sum3) => {
console.log(`Sum of first 4 natural
numbers using callback is ${sum3}`);
});
});
});
const addPromise =
function
(a, b) {
return
new
Promise((resolve, reject) => {
setTimeout(() => {
resolve(a + b);
}, 2000);
});
};
addPromise(1, 2)
.then((sum1) => {
return
addPromise(3, sum1);
})
.then((sum2) => {
return
addPromise(4, sum2);
})
.then((sum3) => {
console.log(
`Sum of first 4 natural numbers using
promise and then() is ${sum3}`
);
});
(async () => {
const sum1 = await addPromise(1, 2);
const sum2 = await addPromise(3, sum1);
const sum3 = await addPromise(4, sum2);
console.log(
`Sum of first 4 natural numbers using
promise and async/await is ${sum3}`
);
})();