扩展
Multiple Query Execution
将多个 queries 合并为一个 query,在它们之间共享状态,并按指定顺序执行。

Click to watch tutorial video - 12:27
Multiple query execution 是一项功能,可将多个 queries 合并为一个 query,按指定顺序执行,同时通过动态变量在 queries 之间共享状态。
query GetLoggedInUserName {
me {
name @export(as: "loggedInUserName")
}
}
query FindPosts @depends(on: "GetLoggedInUserName") {
posts(filter: { search: $loggedInUserName }) {
id
title
}
}此功能具有以下几项优势:
- 性能:无需先对 GraphQL 服务器执行一个 query、等待响应,再用结果执行另一个 query,而是将多个 queries 合并为一个,通过单次请求完成执行,从而避免多次 HTTP 连接带来的延迟。
- 功能性:可按需转换字段值。在一个操作中从数据库查询某个值,对其进行转换后注入到另一个操作的另一个字段中。
- 模块化:将 GraphQL queries 管理为相互依赖的原子操作(或逻辑单元),并可根据前一操作的结果有条件地执行。