各种资料看了不少,但是还是没有完全理解阮一峰两个promise实例状态传递的原理。如图,以图中p1,p2来举例,疑问点主要有以下几点 1>如果是p1到底如何决定p2的状态,如果p1调用resolve,貌似p2并没有调用resolve 2>如果p2调用了reject,并且执行了then第二个参数的话,为什么其promise状态还是‘resolved’ 3>p1,p2之间值到底是如何传递的,因为打印出来值有时会是undefined。
综上所述,我完全没有理解promise,希望大佬们指点一下迷津。
我个人理解,reject其实就是一个throw Error()
建议看看https://github.com/nswbmw/node-in-debugging/blob/master/3.1%20Promise.md
@fhawk 怎么理解
@fhawk 好的
顶
再顶
你的疑惑好像是 一个promise里面reslove或者reject一个promise会怎么样… 其实promise源码里面有一个递归函数,会层层解析你返回的promise,直到不是promise.
对 promise 的理解我强烈推荐参阅 https://promisesaplus.com/ 这就是标准 你的疑问标准里有比较明确的指定
@leemove 请问promise源码在哪里?
@aojiaotage 好的,我去看看
@leemove 好的我去看看源码,感谢