let A = () => { return new Promise(resolve => setTimeout(() => { console.log(1) resolve() }, 1000)) } let B = () => { return new Promise(resolve => setTimeout(() => { console.log(2) resolve() }, 1000)) } let C = () => { return new Promise(resolve => setTimeout(() => { console.log(3) resolve() }, 1000)) } let promise = Promise.resolve() promise.then(A).then(B).then(C)