Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

请教一个promise执行顺序的问题,有关resolve一个promise以及注册callback的顺序

$
0
0
const original = Promise.resolve(2)
new Promise((resolve) => {
	resolve(original);
	Promise.resolve().then(() => Promise.resolve().then(() => console.log(1)))
	console.log(4)
}).then(t => console.log(t))
console.log(3)

这样一段代码. 按照我的理解 因为original已经被resolve,所以它的状态被new Promise继承 然后执行Promise.resolve并注册回调 然后打印4 然后注册new Promise的回调 然后打印3 然后执行第一个注册的回调,并注册第三个回调 然后打印t,也就是2 然后执行第三个回调,也就是1

可是执行结果却是4,3,1,2 想不通为什么,特来求教! 谢谢各位大牛~~~


Viewing all articles
Browse latest Browse all 14821

Trending Articles