- 这幅图如果我在then回调手动返回promise对象,那么下面的then就不自动生成一个新的promise对象么?
- 这个该怎么理解
3个promise对象,第一个是getJson产生的我理解,后面两个由then产生就不理解了,有大佬讲讲?
3个promise对象,第一个是getJson产生的我理解,后面两个由then产生就不理解了,有大佬讲讲?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
这个没有任何区别啊
p2和p1是2个不同的promise
==>
一共是4个promise
=====补充回答====
我们看看Promise
new Promise( /* executor */ function(resolve, reject) { ... } );
这个是Prmoise的构造函数
Promise.prototype.then(onFulfilled, onRejected)
是then方法的原型定义。你要问的是onFulfilled函数有返回非promise,返回promise或不返回值之间的区别吧:
返回非promise,那么这个值通过Promise.resolve静态方法转成一个状态确定的Promise返回
返回promise,那么这个新的promise将被返回作为作为后续then/catch方法的的实际调用Promise
不返回,也是返回一个一个状态确定的Promise,最终的决议值为undefined
你可以简单的认为返回Promise就会把then方法返回的Promise代替了
测试代码