【问题标题】:How to execute a relay mutation asynchronously?如何异步执行中继突变?
【发布时间】:2016-04-08 15:24:24
【问题描述】:

我有一个中继突变,可以将一些数据发布到我的服务器。我的应用不应该在继续之前等待响应。

我知道我可以使用以下命令执行任意查询:

const query = Relay.createQuery(Relay.QL`
  query {
    viewer {
      searchInterests(prefix: $prefix, first: 10) {
        edges {
          node {
            id
            name
          }
        }
      }
    },
  }
`, {prefix: input});

Relay.Store.primeCache({query}, readyState => {
  if (readyState.done) {
    // When all data is ready, read the data from the cache:
    const data = Relay.Store.readQuery(query)[0];

    ...
  }

如何在我的应用不等待响应的情况下异步触发突变?

【问题讨论】:

标签: reactjs relayjs


【解决方案1】:

在设计胖查询时,请考虑所有可能因突变而发生变化的数据,而不仅仅是您的应用程序当前使用的数据。我们不需要担心过度获取;如果不首先将其与我们应用程序实际需要的数据的“跟踪查询”相交,则永远不会执行此查询。如果我们在 fat 查询中省略字段,我们可能会在将来添加具有新数据依赖关系的视图或向现有视图添加新数据依赖关系时观察到数据不一致。

【讨论】:

  • 客户端上没有数据会改变,这就是重点。我只想启动一个服务器突变。您能否详细说明您的答案是如何相关的?我没有看到连接...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-09
  • 1970-01-01
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多