javascript 批量请求查询中继现代实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 批量请求查询中继现代实现相关的知识,希望对你有一定的参考价值。

const getDeferrableVariables = (requests, request, variables: Variables) => {
  const { argumentDependencies } = request;

  if (argumentDependencies.length === 0) {
    return variables;
  }

  return argumentDependencies.reduce((acc, ad) => {
    const { response } = requests[ad.fromRequestName];

    const variable = get(response.data, ad.fromRequestPath);

    // TODO - handle ifList, ifNull
    return {
      ...acc,
      [ad.name]: variable,
    };
  }, {});
};

const batchRequestQuery = async (
  request: RequestNode,
  variables: Variables,
  cacheConfig: CacheConfig,
  uploadables: ?UploadableMap,
  sink: Sink<ExecutePayload>,
) => {
  const requests = {};

  for (const r of request.requests) {
    const v = getDeferrableVariables(requests, r, variables);

    const response = await cacheHandler(r, v, cacheConfig, uploadables, sink, false);

    requests[r.name] = response;
  }

  sink.complete();
};

以上是关于javascript 批量请求查询中继现代实现的主要内容,如果未能解决你的问题,请参考以下文章

中继现代嵌套分页

如何乐观响应中继现代突变中的连接属性?

在没有查看器的情况下中继现代分页

仅手动中继现代运行 RefetchContainer

AddMutation 使用中继现代 graphql

中继无法协调连接上的边缘