使用graphql-needle包的详细教程

阅读时长 6 分钟读完

什么是graphql-needle

GraphQL-Needle 是一个轻便、易用的 GraphQL HTTP 客户端库,适用于浏览器和 Node.js。它支持全部 GraphQL 的特性,并为你提供了一个提供简单的 API 供你使用。使用这个包可以让你很方便的发出 GraphQL 请求和拦截响应信息。

如何安装

使用npm安装:

如何使用

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

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

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

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

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

请求配置

GraphQL-Needle 的请求 API 包括 .query(), .mutation(), 和 .subscription()。其中,.query().mutation() 返回 Promise;.subscription() 返回一个 Subscription 对象。

发送查询(query)

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

发送操作(mutation)

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

发送订阅(subscription)

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

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

配置项

配置项 说明
query GraphQL 查询语法
vars 变量参数
headers 请求头参数
timeout 超时时间,单位ms
retries 最多失败次数,超出此数值,将抛出一个错误
delay 重试延迟时间, 单位为ms,可以为数字或者一个函数
timeoutErrorMessage 如果所有尝试都失败,则使用此消息的作为错误信息
signal 取消信号量,用于取消请求

总结

使用graphql-needle包,可以方便地发送graphQL请求,支持 querymutationsubscription 三种类型的请求,具有完善的api和类型检查支持,对前端开发人员的学习和使用都具有很高的指导意义。

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

纠错
反馈