understandinges6-simplified-chinese
understandinges6-simplified-chinese copied to clipboard
传递一个 Promise 给 Promise.resolve() 或 Promise.reject()的问题
在229页,译注里的第3点我大致测试(在Chromium 60.0.3112.113下)了一下, Promise.resolve(Promise.reject('reject')), 会得到Promise {[[PromiseStatus]]: "rejected", [[PromiseValue]]: "reject"}; Promise.reject(Promise.reject('reject')), 会得到Promise {[[PromiseStatus]]: "rejected", [[PromiseValue]]: Promise}; 也就是说对拒绝态的Promise使用Promise.resolve()会得到依旧是拒绝态的但[[PromiseValue]]是'reject',对拒绝态的Promise使用Promise.reject()会把原来的Promise包装,最后也就是和你的结论刚好相反