日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

事件循环机制(even loop)

發(fā)布時(shí)間:2024/10/12 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 事件循环机制(even loop) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

總結(jié)

  • 同步代碼優(yōu)先級高于異步代碼優(yōu)先級;
  • new Promise(fn)中的fn是同步執(zhí)行;
  • 微任務(wù)優(yōu)先級高于宏任務(wù)優(yōu)先級;
    • 微任務(wù):process.nextTick() > Promise.then()
    • 宏任務(wù):setTimeout、setInterval > setImmediate

console.log('1');setTimeout(function() {console.log('2');process.nextTick(function() {console.log('3');})new Promise(function(resolve) {console.log('4');resolve();}).then(function() {console.log('5')}) }) process.nextTick(function() {console.log('6'); }) new Promise(function(resolve) {console.log('7');resolve(); }).then(function() {console.log('8') })setTimeout(function() {console.log('9');process.nextTick(function() {console.log('10');})new Promise(function(resolve) {console.log('11');resolve();}).then(function() {console.log('12')}) }) // 輸出結(jié)果:1 7 6 8 2 4 9 11 3 10 5 12 setImmediate(() => {console.log('第一行setImmediate'); }, 0); var time = setInterval(() => {console.log('第二行 setInterval');clearInterval(time); }, 0); setTimeout(() => {console.log('第三行 setTimeout'); }, 0); var time1 = setInterval(() => {console.log('第四行 setInterval');clearInterval(time1); }, 0); setImmediate(() => {console.log('第五行setImmediate'); }, 0); process.nextTick(() => {console.log('第六行 nextTick'); }); new Promise((resolve, reject) => {reject('reject');console.log('第七行Promise');resolve('resolve'); }).then(() => {console.log('第八行 Promise then resolve'); }.catch() => {console.log('第八行 Promise then reject'); });// 輸出結(jié)果: // 第七行Promise【先執(zhí)行同步】 // 第六行 nextTick【微任務(wù)】 // 第八行 Promise then resolve【微任務(wù)】 // 第二行 setInterval【宏任務(wù)】 // 第三行 setTimeout【宏任務(wù)】 // 第四行 setInterval【宏任務(wù)】 // 第一行setImmediate【宏任務(wù)】 // 第五行setImmediate【宏任務(wù)】

請注意,node環(huán)境下的事件監(jiān)聽依賴libuv與前端環(huán)境不完全相同,輸出順序可能會(huì)有誤差!!

請注意:chrome中間層 & node中間層libuv

轉(zhuǎn)載于:https://www.cnblogs.com/hujingxuan1437/p/11120708.html

總結(jié)

以上是生活随笔為你收集整理的事件循环机制(even loop)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。