【问题标题】:Does apollo client support transactions?apollo 客户端是否支持事务?
【发布时间】:2021-02-08 21:23:43
【问题描述】:

我有一个 nuxtjs 应用程序,它使用 apollo 模块与 FaunaDB 进行 graphql 通信。 我想在一个事务中对 FaunaDB 进行多个突变。所以我不想为每个突变向 FaunaDB 发送不同的请求,我想发出一个包含所有突变的请求。有可能吗?

【问题讨论】:

    标签: transactions graphql nuxt.js apollo-client vue-apollo


    【解决方案1】:

    是的,GraphQL 支持交易

    a graphql guide关于多个领域的突变

    还有一个stackoverflow 的答案。

    多重突变与 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
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      • 2012-07-23
      • 2017-09-08
      • 1970-01-01
      • 2021-10-26
      • 2011-06-26
      • 2010-10-25
      相关资源
      最近更新 更多