欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          nodejs回調(diào)地獄是什么

          在nodejs中,“I/O”的操作結(jié)果基本上都需要在回調(diào)函數(shù)中處理,當(dāng)處理多個(gè)事件時(shí)回調(diào)函數(shù)就會一層層的嵌套,這就是回調(diào)地獄;也就是一個(gè)異步請求套著一個(gè)異步請求,一個(gè)異步請求依賴于另一個(gè)的執(zhí)行結(jié)果,使用回調(diào)的方式相互嵌套的情況。

          nodejs回調(diào)地獄是什么

          本文操作環(huán)境:Windows10系統(tǒng)、nodejs 12.19.0版、Dell G3電腦。

          nodejs回調(diào)地獄是什么

          nodejs中I/O的操作結(jié)果基本上都需要在回調(diào)函數(shù)中處理,當(dāng)處理多個(gè)事件時(shí)回調(diào)函數(shù)就會一層層的嵌套,這就是回調(diào)地獄。

          一個(gè)異步請求套著一個(gè)異步請求,一個(gè)異步請求依賴于另一個(gè)的執(zhí)行結(jié)果,使用回調(diào)的方式相互嵌套

          Nodejs最大的亮點(diǎn)就在于事件驅(qū)動(dòng), 非阻塞I/O 模型,這使得Nodejs具有很強(qiáng)的并發(fā)處理能力,非常適合編寫網(wǎng)絡(luò)應(yīng)用。在Nodejs中大部分的I/O操作幾乎都是異步的,也就是我們處理I/O的操作結(jié)果基本上都需要在回調(diào)函數(shù)中處理,比如下面的這個(gè)讀取文件內(nèi)容的函數(shù):

          fs.readFile('/etc/passwd', function (err, data) {   if (err) throw err;   console.log(data); });

          那,我們讀取兩個(gè)文件,將這兩個(gè)文件的內(nèi)容合并到一起處理怎么辦呢?大多數(shù)接觸js不久的人可能會這么干:

          fs.readFile('/etc/passwd', function (err, data) {   if (err) throw err;   fs.readFile('/etc/passwd2', function (err, data2) {     if (err) throw err;     // 在這里處理data和data2的數(shù)據(jù)   }); });

          那要是處理多個(gè)類似的場景,豈不是回調(diào)函數(shù)一層層的嵌套啊,這就是大家常說的回調(diào)金字塔或回調(diào)地獄的問題。

          推薦學(xué)習(xí):《nodejs視頻教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號