async-lock的npm地址數據庫
https://www.npmjs.com/package...npm
爲何是async-lock?數組
由於我見其下載量比較大(在我發現的全部相似庫中是最大的)且最近更新時間較近。異步
此時便須要鎖機制,相似於Java中的synchronized
或者lock
。執行同一段代碼時,添加相同的key,則發現此key正在使用,則直接放入此key的待執行數組。async
AsyncLock類:函數
acquire(key, fn):ui
當key對應函數執行完畢後,會檢查queues中對應key值數組是否爲空,爲空則執行delete queues[key],不然繼續執行下一個待執行函數。code
其他使用細節就 略。進程
使用此方式的最大問題就是隻能單進程運行,除非能夠保證同一key總能分配到同一進程。get