NPM 包: redux-promise-resolver 使用教程

阅读时长 4 分钟读完

Redux-promise-resolver 是一个 Redux 中间件,帮助我们更有效的处理异步 action 请求, 使之成为同步请求。

安装

在使用之前需要安装 redux-promise-resolver

使用 npm 安装:

或者使用 yarn 安装:

使用

使用 applyMiddlewareredux-promise-resolver 注入到你的 store 中,相信你已经知道 Redux 的使用过程。

示例

接下来让我们来看一下使用 redux-promise-resolver 的完整示例。

现在我们有一个异步的 action,就是通过 Ajax 请求 API 获取表单数据。 我们希望先发起请求,等请求结束之后再弹出对话框提示,而不是在请求过程中就提示用户。

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

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

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

首先我们可以将 fetchFormDatashowDialogue 组合成一个顺序的函数,之后传递给我们的异步 action。

使用原始的 redux-thunk 中间件的话,你就可以使用 fetchAndShowData 这个函数作为 action。但是我们想让这个函数看起来更清晰,因此,我们更希望这个函数返回一个纯 action,然后通过 redux-promise-resolver 来将这个异步 action 转变成我们想要的同步 action。

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

现在,你就可以使用 fetchAndShowData 作为同步 action 来处理了。

当然,这个例子只是简单的,而且不一定非要引入 redux-promise-resolver 来处理。但是当你需要处理更多的异步请求的时候,使用 redux-promise-resolver 就可以使代码更具有可读性和可扩展性。

结论

Redux-promise-resolver 已经改变了我们处理 Redux 异步操作的方式,使我们能更容易地将异步请求转化成同步请求,并用简单的方式获取我们需要的数据或状态。

通过本文的介绍,相信您对于 redux-promise-resolver 的使用方法有了更加深入的理解。希望这篇文章对你有所帮助,谢谢阅读。

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

纠错
反馈