node?NPM庫增強(qiáng)版globby?Promise使用學(xué)習(xí)
NPM庫
每天兩分鐘,了解一個(gè)流行NPM庫。
昨天,我們學(xué)習(xí)了一個(gè)新庫 glob,用于模式匹配目錄文件。今天,我們要了解的globby,是基于 glob,并進(jìn)一步得到了增強(qiáng)了功能。
globby 特性
相對(duì)于 glob,globby有以下增強(qiáng)功能
- Promise 接口
- 多模式匹配
- 否定模式匹配
- 擴(kuò)展目錄:
dir
→dir/**/*
- 支持
.gitignore
應(yīng)用舉例
(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管理異步任務(wù),但是ES2015標(biāo)準(zhǔn)的Promise對(duì)象實(shí)現(xiàn)的接口非常有限,只含 Promise.all()
Promise.race()
promise.then()
promise.catch()
,這些接口在實(shí)際使用中是不夠用的,比如我們沒辦法直接判斷一個(gè)Promise對(duì)象是否已經(jīng)完成。
q是一個(gè)Promise實(shí)現(xiàn)庫,并且相對(duì)于ES2015標(biāo)準(zhǔn),q提供了很多實(shí)用的工具函數(shù)。下面我們就列舉一些非常有用的函數(shù):
判斷Promise狀態(tài)
promise.isFulfilled()
promise.isRejected()
promise.isPending()
promise.finally(callback)
Promise最終完成后調(diào)用,無論是否失敗,注意,ES2016 標(biāo)準(zhǔn)的Promise存在此函數(shù),但是Edge等一些瀏覽器并未實(shí)現(xiàn)此函數(shù)。
promise.timeout(ms,message)
異步處理超時(shí)設(shè)置
promise.delay(ms)
延時(shí)執(zhí)行
其他關(guān)于返回值的工具函數(shù)
比如 promise.get(propertyName)
的作用是獲取Promise返回對(duì)象的某個(gè)屬性,作用等同于:
promise.then(function (o) { return o[propertyName]; });
這種函數(shù)有很多,具體可以查看API文檔。
參考資料
https://github.com/kriskowal/q
https://github.com/kriskowal/...
以上就是NPM庫增強(qiáng)版globby Promise使用學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于NPM庫globby Promise的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
node.js實(shí)現(xiàn)端口轉(zhuǎn)發(fā)
這篇文章主要為大家詳細(xì)介紹了node.js實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的關(guān)鍵代碼,感興趣的小伙伴們可以參考一下2016-04-04nodejs獲取微信小程序帶參數(shù)二維碼實(shí)現(xiàn)代碼
這篇文章主要介紹了nodejs獲取微信小程序帶參數(shù)二維碼實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-04-04node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例
這篇文章主要介紹了node 標(biāo)準(zhǔn)輸入流和輸出流代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐
本文主要介紹了node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07NodeJS實(shí)現(xiàn)跨域的方法(使用示例)
CORS是一種 W3C 標(biāo)準(zhǔn),它使用額外的 HTTP 頭來告訴瀏覽器讓運(yùn)行在一個(gè) origin (domain) 上的Web應(yīng)用被準(zhǔn)許訪問來自不同源服務(wù)器上的指定的資源,這篇文章主要介紹了NodeJS實(shí)現(xiàn)跨域的方法,需要的朋友可以參考下2024-05-05nodejs中使用worker_threads來創(chuàng)建新的線程的方法
這篇文章主要介紹了nodejs中使用worker_threads來創(chuàng)建新的線程的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01vscode安裝教程以及配置node.js環(huán)境全過程
這篇文章主要給大家介紹了關(guān)于vscode安裝教程以及配置node.js環(huán)境的相關(guān)資料,VSCode是一款由微軟開發(fā)的輕量級(jí)編輯器,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10node.js通過axios實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求的方法
下面小編就為大家分享一篇node.js通過axios實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03