以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!
BFE.devAI解答 - JavaScript 小测验
18. Promise executor II
输出结果为:
true
true
false
true
解释:
- 第一行,p1 和 p2 两个 Promise 对象都是 resolved,且值相等,因此 p1 == p2 返回 true。
- 第二行,p1 和 p3 两个 Promise 对象都是 resolved,且值相等,因此 p1 == p3 返回 true。
- 第三行,p4 由 p2.then() 返回的 Promise,其内部的 new Promise((resolve) => resolve(p3)) 语句中的参数是 p3,虽然 p3 与 p1 值相等,但是 p3 是一个新的 Promise 对象,因此 p3 != p1,p3 != p4,p3 != p2,所以 p3 == p4 返回 false。
- 第四行,p5 由 p4.then() 返回的 Promise,p4 本身就是一个 Promise 对象,因此 p4 == p5 返回 true。