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