node?NPM庫增強版globby?Promise使用學習
NPM庫
每天兩分鐘,了解一個流行NPM庫。
昨天,我們學習了一個新庫 glob,用于模式匹配目錄文件。今天,我們要了解的globby,是基于 glob,并進一步得到了增強了功能。
globby 特性
相對于 glob,globby有以下增強功能
- Promise 接口
- 多模式匹配
- 否定模式匹配
- 擴展目錄:
dir→dir/**/* - 支持
.gitignore
應用舉例
(async () => {
const paths = await globby(['images','photos'],{
expandDirectories: true
});
console.log(paths);
})();gitignore:
const { gitignore } = require('globby');
(async () => {
const isIgnored = await gitignore();
console.log(isIgnored('some/file'));
})();參考資料
glob: https://github.com/isaacs/nod...
globby: https://github.com/sindresorh...
q
我們了解了如何使用Promise管理異步任務,但是ES2015標準的Promise對象實現(xiàn)的接口非常有限,只含 Promise.all() Promise.race() promise.then() promise.catch() ,這些接口在實際使用中是不夠用的,比如我們沒辦法直接判斷一個Promise對象是否已經(jīng)完成。
q是一個Promise實現(xiàn)庫,并且相對于ES2015標準,q提供了很多實用的工具函數(shù)。下面我們就列舉一些非常有用的函數(shù):
判斷Promise狀態(tài)
promise.isFulfilled()promise.isRejected()promise.isPending()
promise.finally(callback)
Promise最終完成后調(diào)用,無論是否失敗,注意,ES2016 標準的Promise存在此函數(shù),但是Edge等一些瀏覽器并未實現(xiàn)此函數(shù)。
promise.timeout(ms,message)
異步處理超時設置
promise.delay(ms)
延時執(zhí)行
其他關于返回值的工具函數(shù)
比如 promise.get(propertyName) 的作用是獲取Promise返回對象的某個屬性,作用等同于:
promise.then(function (o) {
return o[propertyName];
});這種函數(shù)有很多,具體可以查看API文檔。
參考資料
https://github.com/kriskowal/q
https://github.com/kriskowal/...
以上就是NPM庫增強版globby Promise使用學習的詳細內(nèi)容,更多關于NPM庫globby Promise的資料請關注腳本之家其它相關文章!
相關文章
nodejs實現(xiàn)遍歷文件夾并統(tǒng)計文件大小
這篇文章主要介紹了nodejs實現(xiàn)遍歷文件夾并統(tǒng)計文件大小,下面使用nodejs的遍歷文件夾文件內(nèi)容,并且讀取所有的文件,并采取排序往大到小的順序進行輸出,需要的朋友可以參考下2015-05-05
Nodejs拉取??低曅熊囉涗泝x攝像頭視頻流的實現(xiàn)方法
在市場上??低暤漠a(chǎn)品一直處于領先地位,提供了一系列高質(zhì)量的視頻監(jiān)控解決方案,下面這篇文章主要介紹了Nodejs拉取??低曅熊囉涗泝x攝像頭視頻流的實現(xiàn)方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2026-02-02
使用Node和Puppeteer實現(xiàn)批量生成PDF
這篇文章主要為大家詳細介紹了使用Node.js和Puppeteer庫將網(wǎng)頁內(nèi)容轉換為PDF文件的過程,文中的示例代碼講解詳細,有需要的小伙伴可以了解下2024-11-11
使用Node.js實現(xiàn)ORM的一種思路詳解(圖文)
這篇文章主要介紹了用Node.js實現(xiàn)ORM的一種思路詳解(圖文),需要的朋友可以參考下2017-10-10

