欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node?NPM庫增強版globby?Promise使用學習

 更新時間:2023年07月24日 14:11:35   作者:脈沖云_梁興臣  
這篇文章主要為大家介紹了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的資料請關注腳本之家其它相關文章!

相關文章

最新評論