promise处于pending状态,为何仍然执行了then中的方法
发布于 8 年前 作者 overwhats 6722 次预览 最后一次回复是 8 年前 来自 问答
function test() {
return new Promise((resolve, reject)=>{
resolve(123);
});
}
test().then((a)=>{
console.log(a);
}).then((b)=> {
console.log(b);//这行代码被执行了
});
test().then()返回的是一个处于pending状态的promise对象,为什么会执行then中的console.log(b)呢?不是只有被resolve的promise对象才会执行then中的第一个方法吗?
2 回复
test().then(onFulfilled),直接使用 onFulfilled 的返回值来 Resolve 该 Promise,只要你没有抛出错误:
具体的代码可以查看这个 KPromise
@Keifergu 嗦嘎,原来会将返回值作为resolve的内容,涨姿势了