npm 包 promise-cascade 使用教程

阅读时长 5 分钟读完

简介

Promise 是一种异步编程的解决方案。但是,在一些异步处理业务中,可能需要根据某些结果来继续处理其他任务,而 Promise 并不能很好地解决这个问题。promise-cascade 作为 Promise 的扩展,提供了更为灵活的 Promise 处理能力。

promise-cascade 会依次串联 Promise 对象,一个 Promise 对象的 resolve 可能会返回另一个需要执行的 Promise,因此可以实现根据上一个 Promise 的结果来决定下一个 Promise 的执行。

安装

使用 npm 安装 promise-cascade

使用方法

基本用法

首先需要引入 PromiseCascade

接着创建需要串联执行的 Promise 对象数组:

最后使用 PromiseCascade 对象进行串联执行:

高级用法

promise-cascade 提供了两个重要的回调函数:

  • beforeNext:在执行下一个 Promise 前会调用该函数,可以通过该函数去判断执行是否继续。
  • afterNext:在执行下一个 Promise 后会调用该函数。
-- -------------------- ---- -------
----- ------------ - -
  -- ----- --
--

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

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

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

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

示例代码

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

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

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

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

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

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

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

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

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

注意事项

当串联的 Promise 不返回任何值时,需要使用 Promise.resolve(null) 替代原本的 Promise 对象。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056f6781e8991b448e79ed

纠错
反馈