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对象实现的接口非常有限,只含 Promise.all() Promise.race() promise.then() promise.catch() ,这些接口在实际使用中是不够用的,比如我们没办法直接判断一个Promise对象是否已经完成。

q是一个Promise实现库,并且相对于ES2015标准,q提供了很多实用的工具函数。下面我们就列举一些非常有用的函数:

判断Promise状态

  • promise.isFulfilled()
  • promise.isRejected()
  • promise.isPending()

promise.finally(callback)

Promise最终完成后调用,无论是否失败,注意,ES2016 标准的Promise存在此函数,但是Edge等一些浏览器并未实现此函数。

promise.timeout(ms,message)

异步处理超时设置

promise.delay(ms)

延时执行

其他关于返回值的工具函数

比如 promise.get(propertyName) 的作用是获取Promise返回对象的某个属性,作用等同于:

promise.then(function (o) {
    return o[propertyName];
});

这种函数有很多,具体可以查看API文档。

参考资料

https://github.com/kriskowal/q

https://github.com/kriskowal/...

以上就是NPM库增强版globby Promise使用学习的详细内容,更多关于NPM库globby Promise的资料请关注脚本之家其它相关文章!

相关文章

  • 在Express处理错误和未匹配路由的解决方法

    在Express处理错误和未匹配路由的解决方法

    在使用 Express 开发 Web 应用程序时,有效地处理错误和管理未匹配任何定义处理程序的路由至关重要,这确保了应用程序的健壮性和更好的用户体验,本文给出了详细的解决方法,需要的朋友可以参考下
    2024-01-01
  • nodejs实现遍历文件夹并统计文件大小

    nodejs实现遍历文件夹并统计文件大小

    这篇文章主要介绍了nodejs实现遍历文件夹并统计文件大小,下面使用nodejs的遍历文件夹文件内容,并且读取所有的文件,并采取排序往大到小的顺序进行输出,需要的朋友可以参考下
    2015-05-05
  • Node.js连接mongodb实例代码

    Node.js连接mongodb实例代码

    这篇文章主要介绍了Node.js连接mongodb实例代码,这里整理了详细的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Nodejs拉取海康威视行车记录仪摄像头视频流的实现方法

    Nodejs拉取海康威视行车记录仪摄像头视频流的实现方法

    在市场上海康威视的产品一直处于领先地位,提供了一系列高质量的视频监控解决方案,下面这篇文章主要介绍了Nodejs拉取海康威视行车记录仪摄像头视频流的实现方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-02-02
  • 在Node.js中处理CORS问题的解决方案

    在Node.js中处理CORS问题的解决方案

    当今的网络应用程序越来越多地涉及跨域资源共享(CORS)问题,这是因为现代浏览器实施了安全策略,限制了跨源HTTP请求,什么是CORS?如何在Node.js中处理CORS问题,需要的朋友可以参考下
    2024-07-07
  • nodejs nedb 封装库与使用方法示例

    nodejs nedb 封装库与使用方法示例

    这篇文章主要介绍了nodejs nedb 封装库与使用方法,结合实例形式分析了nodejs nedb.js封装库的定义与使用技巧,需要的朋友可以参考下
    2020-02-02
  • Node.js的Web模板引擎ejs的入门使用教程

    Node.js的Web模板引擎ejs的入门使用教程

    ejs是Node世界的开源模板引擎中比较有人气的一个,而且并不只是在Express框架中才可以使用,今天为大家带来Node.js的Web模板引擎ejs的入门学习教程,其中侧重于ejs的layout页面布局放面
    2016-06-06
  • 使用Node和Puppeteer实现批量生成PDF

    使用Node和Puppeteer实现批量生成PDF

    这篇文章主要为大家详细介绍了使用Node.js和Puppeteer库将网页内容转换为PDF文件的过程,文中的示例代码讲解详细,有需要的小伙伴可以了解下
    2024-11-11
  • 一文搞懂npm install 意义

    一文搞懂npm install 意义

    我们在安装依赖包的时候,不需要过多的去纠结是使用 -S 还是 -D 呢 ?随便安装到 dependencies 或者 devDependencies 里都行,反正 npm install的时候,都会安装dependencies 和 devDependencies依赖,今天通过本文学习npm install意义,感兴趣的朋友跟随小编一起看看吧
    2022-12-12
  • 使用Node.js实现ORM的一种思路详解(图文)

    使用Node.js实现ORM的一种思路详解(图文)

    这篇文章主要介绍了用Node.js实现ORM的一种思路详解(图文),需要的朋友可以参考下
    2017-10-10

最新评论