npm 包 one-doing-the-rest-waiting 使用教程

阅读时长 4 分钟读完

关于 one-doing-the-rest-waiting 这个 npm 包,它是一款前端异步函数封装工具,可以将异步操作的代码优雅地封装起来。在 Promise 模式下,one-doing-the-rest-waiting 可以自动处理 pending 状态,并阻塞接下来的代码执行,等待当前异步操作的结果。除此之外,在同步模式下,代码执行顺序也会被 one-doing-the-rest-waiting 控制,自动阻塞同步操作,等待异步操作完成后按正常顺序执行。

安装与使用

one-doing-the-rest-waiting 是一个 npm 包,可以通过以下命令安装:

使用该包,需要先导入:

使用示例

Promise

在一下例子中,我们用 one-doing-the-rest-waiting 封装了两个异步操作。代码前半部分执行两个异步操作,总时间为 2000ms;后半部分通过 one-doing-the-rest-waiting 控制,等到异步操作完成后按正常顺序执行。

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

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

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

该代码的输出是:

同步

在以下代码中,我们同步执行两个操作,其中第一个操作用 setTimeout 延时 2000ms,第二个操作用 setTimeout 延时 1000ms。这两个操作都在 2000+1000=3000ms 内执行完毕,然后再执行同步操作 console.log。

我们把这两个异步操作,改为使用 one-doing-the-rest-waiting 封装。然后执行同样的同步操作 console.log。此时这两个操作的执行顺序,将受到 one-doing-the-rest-waiting 的控制,而实际执行时间也不会变化。

此时输出结果也是:

API

waiting(fn)

  • fn: Function
  • returns: Promise

封装异步操作,返回一个 Promise 对象。

使用该方法时,我们需要将异步代码封装在 fn 函数中,然后将该函数调用作为参数传递给 waiting() 方法中。waiting() 将等待该函数内部的异步操作完成后,按正常顺序执行 fn 函数后续的同步操作。

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

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

总结

通过 one-doing-the-rest-waiting,我们能够方便的封装异步操作,并自动控制异步操作的执行顺序和同步操作的阻塞,可以更加优雅、快速的编写异步代码。

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

纠错
反馈