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的资料请关注脚本之家其它相关文章!

相关文章

  • 教你彻底搞懂ESM与CJS互相转换

    教你彻底搞懂ESM与CJS互相转换

    这篇文章主要为大家介绍了ESM与CJS互相转换的理解与实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • node.js实现端口转发

    node.js实现端口转发

    这篇文章主要为大家详细介绍了node.js实现端口转发的关键代码,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • nodejs获取微信小程序带参数二维码实现代码

    nodejs获取微信小程序带参数二维码实现代码

    这篇文章主要介绍了nodejs获取微信小程序带参数二维码实现代码的相关资料,需要的朋友可以参考下
    2017-04-04
  • node 标准输入流和输出流代码实例

    node 标准输入流和输出流代码实例

    这篇文章主要介绍了node 标准输入流和输出流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • node实现批量上传本地图片转为图片CDN的项目实践

    node实现批量上传本地图片转为图片CDN的项目实践

    本文主要介绍了node实现批量上传本地图片转为图片CDN的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • NodeJS实现跨域的方法(使用示例)

    NodeJS实现跨域的方法(使用示例)

    CORS是一种 W3C 标准,它使用额外的 HTTP 头来告诉浏览器让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源,这篇文章主要介绍了NodeJS实现跨域的方法,需要的朋友可以参考下
    2024-05-05
  • node.js处理前端提交的GET请求

    node.js处理前端提交的GET请求

    这篇文章主要为大家详细介绍了node.js处理前端提交的GET请求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • nodejs中使用worker_threads来创建新的线程的方法

    nodejs中使用worker_threads来创建新的线程的方法

    这篇文章主要介绍了nodejs中使用worker_threads来创建新的线程的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • vscode安装教程以及配置node.js环境全过程

    vscode安装教程以及配置node.js环境全过程

    这篇文章主要给大家介绍了关于vscode安装教程以及配置node.js环境的相关资料,VSCode是一款由微软开发的轻量级编辑器,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • node.js通过axios实现网络请求的方法

    node.js通过axios实现网络请求的方法

    下面小编就为大家分享一篇node.js通过axios实现网络请求的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论