/*
* A single promise can pass through several chained
* `then` statements because `then` returns a promise
* as well
*/
new Promise((resolve, reject) => {
console.log("new Promise A")
setTimeout(resolve(2), 1000)
}).then((data) => {
console.log(`A ${data}`);
return data * 2
}).then((data) => {
console.log(`B ${data}`);
return data * 2
}).then((data) => {
console.log(`C ${data}`);
return data * 2
})