先看一下代码
let runPromise = () => { return Promise.resolve().then(() => { console.log(1) }).then(res => { console.log(2) }).then(() => { console.log(3) }) }
执行的结果
也就是每个then后的方法不需要 return 就会按照顺序执行
let runPromise = () => { return Promise.resolve().then(() => { console.log(1) return {a: 1} }).then(res => { console.log(2, res) }).then(() => { console.log(3) }) }
执行结果
如果有 return 则下一个then的方法回调中可以获得参数,当然可以必要时 return Promise.reject({message: ''}) 退出下面所有的 then