npm 包 bluebird_ext 使用教程

什么是 bluebird_ext

bluebird_ext 是一个使用 Bluebird 库的扩展,在 Bluebird 的基础上增加了一些常用的异步处理函数封装,使得我们在使用 Bluebird 进行异步操作时更加方便。这个库可以在 Node.js 和浏览器环境下使用。

安装 bluebird_ext

使用 npm 安装:

--- ------- ------------

使用 bluebird_ext

引入

在 Node.js 中引入:

--- ------- - --------------------
--- --- - ---------------------------------

在浏览器中引入:

------- -----------------------------------
------- ---------------------------------------
--------
    --- --- - ----------------------
---------

API

ext.delay(ms, value)

延时一定时间后返回指定的值,类似于 setTimeout,不过是用 Promise 实现的。

--------------- ----------------------------- -
    ------------------- -- -------
---

ext.timeout(promise, ms, timeoutValue)

如果一个 Promise 在一定时间内没有返回,则返回一个指定的值,类似于 Promise.race,不过增加了超时判断。

--- ------- - --- ------------------------- -
    --------------------- -
        -----------------
    -- ------
---

-------------------- ----- ------------------------------- -
    ------------------ - - ------- -- ------ --------
---------------------- -
    ------------------- - - ----- -- ------- --------
---

-------------------- ----- ------------------------------- -
    ------------------ - - ------- -- ------ ------
---------------------- -
    ------------------- - - -----
---

ext.forEach(items, action)

并发处理一个数组,类似于 Promise.all,但是这个函数能够保证每个 Promise 都会按照数组顺序执行,即使前面的 Promise 已经返回了。这个函数返回的 Promise 的值是原数组中所有 Promise 返回的值(按照原数组顺序排列),如果其中任意一个 Promise 返回了错误,则整个 Promise 就会被拒绝,并抛出错误。

--- ---- - -
    ------------------------
    -----------------------
    -----------------------
--

----------------- ------------- -
    ------ -------- -- -- -------- - -- --- ---- --
----------------------- -
    -------------------------------- -- ------- ---- --
---------------------- -
    ------------------- -- ----
---

ext.map(items, action)

并发处理一个数组,并将每个 Promise 返回的值映射成一个新数组,类似于 Promise.all,但是这个函数能够保证每个 Promise 都会按照数组顺序执行,即使前面的 Promise 已经返回了。这个函数返回的 Promise 的值是一个新数组,新数组的每个元素对应原数组中每个 Promise 的返回值,如果其中任意一个 Promise 返回了错误,则整个 Promise 就会被拒绝,并抛出错误。

--- ---- - -
    ------------------------
    -----------------------
    -----------------------
--

------------- ------------- -
    ------ --------------------------- -
        ------ ------------
    ---
------------------------ -
    -------------------- -- ------- ---- ----
---------------------- -
    ------------------- -- ----
---

ext.reduce(items, action, initialValue)

对一个数组进行异步操作,类似于 Array.prototype.reduce,但是这个函数是异步的。这个函数返回的 Promise 的值是最后一个 Promise 返回的值,如果其中任意一个 Promise 返回了错误,则整个 Promise 就会被拒绝,并抛出错误。

--- ---- - --- -- -- -- ---

---------------- ------------- ---- -
    ------ --------------- --- - ----- -- --------------
-- ------------------------ -
    -------------------- -- - - - - - - - - - - --
---------------------- -
    ------------------- -- ----
---

总结

bluebird_ext 提供了一些在使用 Bluebird 时比较常用的异步处理函数封装,在异步操作中提供了更加方便的使用方式。通过本文的介绍,希望读者能够更加深入地理解 Promise 和 Bluebird,并掌握 bluebird_ext 的使用方法。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005609881e8991b448ded04


猜你喜欢

  • npm 包 jddx 使用教程

    介绍 jddx 是一个前端开发中的常用工具集,它包含了多个有用的插件和库,可以用于快速搭建前端项目,提高开发效率,减少工作量。在本文中,我们将详细介绍 jddx 的使用方法,并提供示例代码和实际应用案...

    3 年前
  • npm 包 hubot-mad-jenkins 使用教程

    什么是 hubot-mad-jenkins? hubot-mad-jenkins 是一个用于集成 Jenkins CI 与 Slack 平台的 npm 包。通过该包,用户可以在 Slack 平台上使用...

    3 年前
  • npm包 react-error-overlay-canary的使用教程

    介绍 在前端开发中,由于代码的复杂性和错误率,我们经常需要一些工具来帮助我们及时发现和解决代码错误。其中,一个非常实用的工具就是react-error-overlay-canary这个npm包。

    3 年前
  • npm 包 tmpl8 使用教程

    在前端开发中,我们经常需要用到模板引擎来动态生成 HTML,tmpl8 是一个非常方便实用的 npm 包,可以快速地将数据填入模板中,生成最终的 HTML 文件。本篇文章将详细讲解 tmpl8 的使用...

    3 年前
  • npm 包 @pluritech/ion-pluriutils 使用教程

    简介 npm 是一个 JavaScript 包管理器,可以让我们很方便地安装、更新、删除 JavaScript 库。@pluritech/ion-pluriutils 是一个由 Pluritech 公...

    3 年前
  • npm包 generator-happyak-widget使用教程

    简介 generator-happyak-widget是一个 Yeoman 生成器,用于快速创建可重用 widget 组件。这个包的目标是让 widget 的创建过程更加简单和快捷,同时保证组件的可维...

    3 年前
  • npm 包 read-dir-names 使用教程

    简介 npm 是前端开发中非常常用的工具,可用于快速安装包和管理项目的依赖项。在 npm 上有各种各样的包可以使用,其中就包括一个非常实用的包 read-dir-names,它可以帮助我们读取指定目录...

    3 年前
  • npm 包 ng-cedula-panama 使用教程

    简介 ng-cedula-panama 是一个针对 Angular 框架的 npm 包,用于验证巴拿马国民身份证(Cédula)的格式。该包主要是由基于 Angular 的开发者使用,因为它可以轻松地...

    3 年前
  • npm 包 spotify-node-applescript-promise 使用教程

    如果你是一个前端工程师,那么你一定会从时间到时间地需要和音乐相关的 API 打交道。Spotify 是一款非常流行的音乐应用程序,如果你需要从应用程序中自动化播放控制,那么一个名为 spotify-n...

    3 年前
  • npm包ng2-smart-table-jp 使用教程

    ng2-smart-table-jp是一个适用于Angular2+的数据网格,该网格具有丰富的功能和易于使用的界面。它可以用于显示数据,以及编辑、删除或创建数据。 在本文中,我们将详细介绍如何使用np...

    3 年前
  • npm包html2rtf使用教程

    在前端开发中,将网页内容转换为文档格式是一项很常见的任务。而html2rtf是一个npm包,可以将html转换为富文本格式(.rtf),在Word等文档处理软件中打开。

    3 年前
  • npm 包 component-composer 使用教程

    介绍 component-composer 是一个 npm 包,用于解决前端项目中组件开发、组件库管理和构建的问题。它可以帮助开发人员在项目中快速地编写和管理自己的组件,并生成可重用的组件库,方便在不...

    3 年前
  • npm 包 @spartadigital/wikitude_architectview_dts 使用教程

    在前端开发中,使用第三方库和插件可以极大地提高开发效率和代码质量。其中 npm 是一个流行的包管理器,提供了许多功能强大的开源包。本文介绍了 npm 包 @spartadigital/wikitude...

    3 年前
  • npm 包 canvasso 使用教程

    前言 在前端开发中,绘制图形是我们经常需要处理的任务,通常我们需要使用画布 API 来创建和绘制图形。但是,使用纯 JavaScript 代码处理画布 API 可能会比较繁琐和复杂。

    3 年前
  • npm 包 beginpm-questions 使用教程

    简介 npm 是一个用于 Node.js 的包管理器,它允许开发者上传和分享自己的包并使用他人上传的包。在npm 上,有许多优秀的包可以帮助我们快速实现业务逻辑。beginpm-questions 就...

    3 年前
  • npm 包 revue2 使用教程

    随着前端技术的不断发展,vue框架已经成为了一种非常流行的前端框架。在使用vue框架的过程中我们常常需要对vuex进行管理,revue2 npm 包就是为了解决这个问题而开发的。

    3 年前
  • npm 包 file2html-text 使用教程

    前言 在前端开发中,我们经常需要处理文件,例如图片、音频、视频、文档等等。而有时候需要将这些文件转换成 HTML 格式来显示或者其他用途。随着技术的发展,现在我们可以使用一个叫做 file2html-...

    3 年前
  • npm 包 joi-manager 使用教程

    简介 joi-manager 是一个基于 joi 的参数校验工具,能够方便地实现参数校验,并提供了一些预设的校验规则以及自定义校验规则的方式。本文将详细介绍 joi-manager 的使用方法以及相关...

    3 年前
  • npm 包 homebridge-imp-garagedoor 使用教程

    在现代家庭,我们越来越依赖于智能家居技术来帮助我们管理各种家庭设备。尤其是在控制家门(车库门)时,智能家居技术提供了多种有效而方便的解决方案。在此,我们将介绍如何使用 npm 包 homebridge...

    3 年前
  • npm包wit-router使用教程

    在前端开发过程中,路由管理是不可或缺的一部分。为了方便开发者使用,社区中有很多优秀的路由管理工具。今天,我们要介绍的是一款名为wit-router的npm包,它能够为我们提供轻量、易用且灵活的路由管理...

    3 年前

相关推荐

    暂无文章