apollo 客户端是不是支持事务?
Posted
技术标签:
【中文标题】apollo 客户端是不是支持事务?【英文标题】:Does apollo client support transactions?apollo 客户端是否支持事务? 【发布时间】:2021-02-08 21:23:43 【问题描述】:我有一个 nuxtjs 应用程序,它使用 apollo 模块与 FaunaDB 进行 graphql 通信。 我想在一个事务中对 FaunaDB 进行多个突变。所以我不想为每个突变向 FaunaDB 发送不同的请求,我想发出一个包含所有突变的请求。有可能吗?
【问题讨论】:
【参考方案1】:是的,GraphQL 支持交易
有a graphql guide关于多个领域的突变。
还有一个*** 的答案。
多重突变与 vue-apollo 没有直接关系,它是 Apollo 客户端的一个特性。
答案在 GraphQL 层。
Apollo Clientdocumantation 有相关信息。
Vue-Apollo-todos 是突变的一个很好的例子。
在apollographql issues中有一个例子
graphql(gql`
query UserQuery ($userId: ID!)
user(id: $userId)
# ... selection set
query PostQuery($postId: ID!)
post(id: $postId)
# ... selection set
mutation CreateUser ($createUserInput: CreateUserInput!)
createUser(data: $createUserInput)
# ... selection set
mutation CreatePost ($createPostInput: CreatePostInput!)
createPost(data: $createPostInput)
# ... selection set
`,
props: ( data: loading, user, post , createUser, createPost ) =>
// ... do stuff with multiple operations
);
【讨论】:
以上是关于apollo 客户端是不是支持事务?的主要内容,如果未能解决你的问题,请参考以下文章
Apollo 客户端发送 OPTIONS 而不是 GET HTTP 方法
GitHub GraphQL API 的 Apollo 客户端响应不是 JSON 格式
错误:createNetworkInterface 不是 React Native 和 Apollo 客户端上的函数