以下为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。