(function () { console.log(1); var p4 = new Promise((resolve, reject) => { resolve('ok'); setTimeout(() => { console.log(6) }, 500); console.log(2); }); console.log(3); p4.then(value => { console.log(5); console.log(value); }); console.log(4); })(); // 1 2 3 4 5 ok undefined 6问题:打印顺序为 4 5 ok 6?这样理解正确么?Promise 异步是当前 event loop 的任务队列队尾添加了 resolve 的回调函数,而 setTimeout 我们知道是会下下一轮 event loop 的任务队列尾部添加回调函数。
添加回答
举报
0/150
提交
取消