站長資訊網
        最全最豐富的資訊網站

        淺談Node.js中的事件循環

        本篇文章帶大家了解一下Node.js異步編程中的事件循環。事件循環是實現Node非阻塞I/O非常重要的一部分!事件循環,非阻塞I/O都是屬于LIBUV這個C++庫的底層能力。理解了事件循環,非阻塞I/O就理解了Node的異步是怎樣運行的!

        淺談Node.js中的事件循環

        Node 自身的執行模型——事件循環,正是它使得回調函數十分普遍。【推薦學習:《nodejs 教程》】

        在進程啟動時,Node 便會創建一個類似于 while(true)的循環,每執行一次循環體的過程我 們稱為 Tick。每個 Tick 的過程就是查看是否有事件待處理,如果有,就取出事件及其相關的回調 函數。如果存在關聯的回調函數,就執行它們。然后進入下個循環,如果不再有事件處理,就退 出進程

        淺談Node.js中的事件循環
        Tick 流程圖

        事件循環是實現 Node.js 非阻塞 I/O 非常重要的一部分! 事件循環,非阻塞 I/O 都是屬于 LIBUV 這個 C++ 庫的底層能力。 理解了 事件循環,非阻塞 I/O 就理解了 Node.js 的異步是怎樣運行的!

        通過代碼模擬 eventloop

        const eventloop = {   queue: [],   // 循環方法   loop() {     // 不停的檢測隊列是否還有未循環的消息     while (this.queue.length) {       const callback = this.queue.shift();       callback();     }      // 執行下一次循環     // 小知識點 JS的 this綁定     setTimeout(this.loop.bind(this), 50);   },   // 添加消息到隊列   add(callback) {     this.queue.push(callback);   }, };  eventloop.loop();  setTimeout(() => {   eventloop.add(() => {     console.log("第一個");   }); }, 500);  setTimeout(() => {   eventloop.add(() => {     console.log("第二個");   }); }, 800);

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品国产亚洲av瑜伽| 亚洲欧美日韩精品专区| 日本精品一区二区三区四区| 国产精品后入内射日本在线观看 | 国产精品美女WWW爽爽爽视频| 久久精品国产亚洲AV嫖农村妇女| 国产精品一区三区| 青青草精品视频| 91老司机深夜福利精品视频在线观看 | 成人午夜精品视频在线观看| 亚洲精品~无码抽插| 久久se精品一区二区影院| 2021年精品国产福利在线| 国产福利视精品永久免费| 久久99国产综合精品女同| 亚洲码国产精品高潮在线| 久久性精品| 久久er国产精品免费观看8| 国产精品videossex白浆| 久久r热这里有精品视频| 99国产欧美久久久精品蜜芽| 日本午夜精品一区二区三区电影| 四虎精品影库4HUTV四虎| 久久精品无码一区二区日韩AV| 国产精品国产三级国产| 高清日韩精品一区二区三区| 亚洲国产精品久久久久| 久久99精品国产99久久| 国产精品久久久久久影院| 2022国产精品自产拍在线观看 | 免费精品一区二区三区第35| 国语自产拍精品香蕉在线播放| 精品视频无码一区二区三区| 老司机67194精品线观看| 青青草原精品国产亚洲av| 久久综合精品国产二区无码| 久久久精品人妻一区二区三区四 | 2024最新国产精品一区| 97精品国产97久久久久久免费| 久久久国产精品福利免费| 日本久久久精品中文字幕|