npm 包 apollo-link-retry 使用教程

阅读时长 4 分钟读完

介绍

apollo-link-retry 是一个用于 Apollo Client 的链接,可用于添加请求重试功能。当您在使用 GraphQL 时,遇到一些需要等待或连接较慢或图表遗漏或只是网络故障的原因,此链接可能会很有用。

本文将介绍如何使用 apollo-link-retry 以及使用示例代码。

安装

您可以通过以下命令在项目中安装 apollo-link-retry

使用

在使用时,您需要创建一个新的 HttpLink 并将其添加到 apollo-client 中。

以下是示例代码:

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

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

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

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

在此示例中,我们设置了最多重试 5 次和延迟 1 秒钟。

delay.max 设置了最大延迟时间,以确保在 retryIf 函数返回 true 的情况下没有无限重试。

max 是指重试的最大次数。

您可以使用 retryIf 函数来定义哪些请求会重试。在本例中,我们只重试错误状态码为 500 的请求。

示例

以下是一个示例,如何使用 apollo-link-retry

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

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

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

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

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

这个示例会在您的 GraphQL API 调用 返回状态代码为 500 的情况下重试多达 5 次此操作。

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

纠错
反馈