国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

NPM酷庫:async 強大的異步任務控制

xingpingz / 2105人閱讀

摘要:酷庫,每天兩分鐘,了解一個流行庫。庫是一個非常出色的異步控制庫,除了函數外,還提供了大量的其他工具函數,在當年沒有的時候,庫的作用尤為突出。

NPM酷庫,每天兩分鐘,了解一個流行NPM庫。

今天要了解的庫叫async,與ES7標準的async/await關鍵字不同,這里說的async只是NPM的一個庫,為了區別,下文中今天的主角叫async庫,async/await的關鍵字叫async函數。

在處理異步任務時,為了加大性能表現,我們常常會批量處理任務,使用Promise.all()可以實現同時執行多個Promise異步任務:

let promises = tasks.map(async(task) => {
  // ...
});
await Promise.all(promises);

上述代碼中,tasks 是一個要處理的任務數組,通過調用數組map方法,分別為每個任務執行一個異步的async函數,map方法返回的是一個Promise數組,最后由Promise.all() 執行Promise數組。

但是如果tasks數組非常大,可能給異步任務的后端帶來瞬間的巨大壓力,能不能在處理多個異步任務時,指定并行的人數數量呢?

async庫

通過async庫提供的工具函數可以輕松完成上述要求:

const async = require("async");

async.mapLimit(tasks, 5, async(task) => {
  // ...
});

上述代碼中,我們調用了 async 庫的 mapLimit() 方法,該方法的第二個參數就是要并行處理的任務數量,這樣無論任務列表多么巨大,我們都可以有序完成,不會給后端數據庫等服務帶來瞬間的過大壓力。

async庫是一個非常出色的異步控制庫,除了mapLimit() 函數外,還提供了大量的其他工具函數,在當年沒有async/await的時候,async庫的作用尤為突出。

參考資料

https://github.com/caolan/async

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107105.html

相關文章

  • NPM酷庫:promise 異步任務狀態管理

    摘要:是一個劃時代的庫,因為產生后,后續的標準的就是基于的,而機制讓人能夠以同步樣式的代碼處理異步任務,徹底解決了回調問題。而的機制其實很簡單,它將異步任務抽象為三種狀態進行中完成失敗。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 JavaScript的優勢就在于其基于異步事件模型,從而Node.js能夠擁有非常強大的性能表現。但是,JavaScript的callback方式做異步處理,...

    winterdawn 評論0 收藏0
  • NPM酷庫:pify 將異步函數Promise化

    摘要:酷庫,每天兩分鐘,了解一個流行庫。昨天我們了解到可以用庫將樣式庫轉化為樣式,同時庫也提供了強大在增強版的,如果我們需要轉化函數,且僅需要使用標準的,那么使用有些大材小用。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 所有Node.js標準庫和很多第三方庫提供的接口都是callback樣式的,在ES7標準時代,使用async/await配合Promise才是最佳實踐。 昨天我們了解到...

    ccj659 評論0 收藏0
  • NPM酷庫:q 增強版Promise

    摘要:酷庫,每天兩分鐘,了解一個流行庫。是一個實現庫,并且相對于標準,提供了很多實用的工具函數。異步處理超時設置延時執行其他關于返回值的工具函數比如的作用是獲取返回對象的某個屬性,作用等同于這種函數有很多,具體可以查看文檔。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 昨天我們了解了如何使用Promise管理異步任務,但是ES2015標準的Promise對象實現的接口非常有限,只包含 P...

    worldligang 評論0 收藏0
  • NPM酷庫:glob,通配符匹配文件名

    摘要:酷庫,每天兩分鐘,了解一個流行庫。經常,我們的程序需要對磁盤文件進行管理,就需要讀取磁盤上的文件列表,然后可能會需要判斷文件夾或文件名,還可能需要遞歸掃描子目錄。今天我們要了解的庫,就是專門用來掃描磁盤文件,并返回我們需要的文件類型。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 經常,我們的程序需要對磁盤文件進行管理,就需要讀取磁盤上的文件列表,然后可能會需要判斷文件夾或文件名,還...

    verano 評論0 收藏0
  • NPM酷庫:winston 多路日志記錄

    摘要:昨天,我們認識了庫的用法,用來控制輸出調試日志。今天我們再了解一個日志記錄的庫,一個多路傳輸的日志記錄庫。所謂多路傳輸,是指,你可以自定義多個日志儲存驅動,比如,將日志輸出到終端的同時,將重要日志記錄到文件中,甚至寫到數據庫中。 NPM酷庫,每天兩分鐘,了解一個流行NPM庫。 昨天,我們認識了debug庫的用法,用來控制輸出調試日志。但是,debug的特性適合于開發調試,并不適合程序記...

    荊兆峰 評論0 收藏0

發表評論

0條評論

xingpingz

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<