Promise.resolve(1)
.then(2)
.then(Promise.resolve(3))
.then(console.log)
运行结果:
1
解释:.then 或者 .catch 的参数期望是函数,传入非函数则会发生值穿透。
Promise.resolve(1)
.then(function(){return 2})
.then(Promise.resolve(3))
.then(console.log)
结果为2
Promise.resolve(1)
.then(function(){return 2})
.then(function(){return Promise.resolve(3)})
.then(console.log)
结果为3
不是太明白,then里面必须通过函数来返回的一个值才能被包装为Promise吗?
Promise方法链通过return传值,没有return就只是相互独立的任务而已