let aPromise = new Promise(resolve=>{
resolve('aPromise');
})
console.log(aPromise); // ==> Promise {'aPromise'}
这里直接打印aPromise,是值为'aPromise'的一个promise对象
let aPromise = new Promise(resolve=>{
resolve('aPromise');
})
Promise.resolve('newPromise').then(res=>aPromise).then((res)=>{
console.log(res) // ==> 'aPromise'
});
为什么在newPromise的then中间直接return aPromise,下一个then的res不是aPromise这个对象。而是其resolve值?
这有什么原理吗?这么设计有什么好处吗?
比如你有两个请求A和B,A请求成功才会请求B,那么在A的resolve中返回B的promise,就可以在下一个then的resolve中直接处理B了,即形成promise的链式调用,在流程复杂的时候会很清晰地展现出代码的逻辑