什么是Lokka
Lokka是一个基于GraphQL的简单、轻量级且高度可扩展的客户端框架。它提供了一个方便的API来查询RESTful API和图形API。Lokka可以在浏览器和Node.js中使用。它是由Kadirahq开发的,旨在提供一个简单易用的GraphQL客户端,可以将Lokka融入到任何JavaScript工程中。
什么是Lokka-transport-HTTP
Lokka-transport-HTTP是使用Lokka基于GraphQL进行查询时的HTTP传输通信插件。此插件依赖于可执行的fetch方法来处理HTTP请求。Lokka-transport-HTTP可以运行在浏览器和Node.js中。此插件帮助我们处理所有GraphQL查询的HTTP传输。我们不必手动写代码,而是直接使用它提供的API来完成查询。
这就是 @lilactown/lokka-transport-http npm包最主要的用途。
使用方法
在你的项目中安装npm包:
npm install --save @lilactown/lokka-transport-http
导入Lokka和Lokka-transport-HTTP包:
import { Lokka } from 'lokka'; import { Transport } from '@lilactown/lokka-transport-http';
让我们开始了解Lokka如何使用Lokka-Transport-HTTP来查询GraphQL API。 首先,让我们创建一个Lokka实例:
const client = new Lokka({ transport: new Transport('https://api.graphqlbin.com/') });
通过这个实例,我们可以开始查询GraphQL API。假设我们要查询一个图书的信息,查询类似于这样:
query { book(id: "book-id") { title author publishedYear } }
最终API的URL将是:https://api.graphqlbin.com/graphql
。
下面是完整代码示例:
-- -------------------- ---- ------- ------ - ----- - ---- -------- ------ - --------- - ---- ---------------------------------- ----- ------ - --- ------- ---------- --- ---------------------------------------- --- ----- ----- - - - -------- ---------- - ----- ------ ------------- - - -- --------------------------------- -- - -------------------- ---
在上面的示例中,我们运行了一个GraphQL查询,并使用Lokka-transport-HTTP作为传输工具向GraphQL API发送请求,并将结果通过控制台记录下来。
参数
Lokka-transport-HTTP接受以下三个参数:
- endpoint: GraphQL API的URL。
- batchInterval: 批处理查询之间的时间间隔(毫秒)。
- timeout: 查询超时的时间(毫秒)。
构造函数的参数结构如下:
interface HttpTransportOptions { endpoint: string; batchInterval?: number; timeout?: number; }
使用批处理查询发送多个查询
Lokka-Transport-HTTP允许我们一次发送多个查询。 这个特性称为批量查询。它采用一个包含多个查询和对应变量值和别名的数组。我们可以在构造函数中相应地设置批处理查询的时间间隔。
下面是一个使用批处理查询的例子:
-- -------------------- ---- ------- ----- ------ - --- ------- ---------- --- ---------------------------------------- - ------------- - ---- -- --- ----- ------- - - - ------ - - -------- ------------ - ----- ------ - - -- ---------- --- ------ ------- -- - ------ - - -------- ------------ - ----- ------ - - -- ---------- --- ------ ------- - -- ---------------------------------- -- - ---------------------------------- ----------------------- ---------------- -- - ------------------- ---
处理GraphQL API的错误
如果GraphQL API返回了错误,则可以使用.catch()方法来获取错误。以下是错误处理的示例:
-- -------------------- ---- ------- -------------- - -------- ---------- - ------ ------ - - -- ------------ -- - -------------------- -- ------------ -- - --------------------------- ---
这些函数可以避免GraphQL API的错误,因为无论查询中出现了什么错误,我们都使用.catch()方法捕获错误。
结束语
Lokka-transport-HTTP已经成为现今处理Lokka基于GraphQL的查询的常用工具之一。它是一个简单易用的请求器,可以让你轻松地在您的项目中查询GraphQL API。在本篇文章中,我们学习了如何在JavaScript项目中使用Lokka-transport-HTTP。我希望这篇文章能够为你在学习Lokka和GraphQL方面提供有用的知识和信息。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562dd81e8991b448e04e4