下列程序的运行结果是什么? setTimeout(function(){     console.log(1); }, 0) new Promise(function(resolve){     console.log(2);     resolve();     console.log(3); }).then(function(){     console.log(4); }) console.log(5);

区块链毕设网qklbishe.com为您提供问题的解答

下列程序的运行结果是什么?

setTimeout(function(){     console.log(1); }, 0) new Promise(function(resolve){     console.log(2);     resolve();     console.log(3); }).then(function(){     console.log(4); }) console.log(5);

知识点:serTimeOut是异步执行,首先放到任务队列中,属于宏任务。promise中的函数在主线程中自然执行,then是异步执行,属于微任务,任务队列中,微任务先于宏任务执行。
我的思路:先摔1放到异步队列中,再执行promise构造,执行2,遇到resolve也将then甩到异步任务队列中,继续执行下面的代码任务,执行3,然后是5,完成主线任务,执行异步任务,且先执行微任务,再宏任务,所以4之后才是1下列程序的运行结果是什么? setTimeout(function(){     console.log(1); }, 0) new Promise(function(resolve){     console.log(2);     resolve();     console.log(3); }).then(function(){     console.log(4); }) console.log(5);
个人观点,欢迎大佬来打脸

50:26

以上就是关于问题下列程序的运行结果是什么? setTimeout(function(){     console.log(1); }, 0) new Promise(function(resolve){     console.log(2);     resolve();     console.log(3); }).then(function(){     console.log(4); }) console.log(5);的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 下列程序的运行结果是什么? setTimeout(function(){     console.log(1); }, 0) new Promise(function(resolve){     console.log(2);     resolve();     console.log(3); }).then(function(){     console.log(4); }) console.log(5);