Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

162
Visualizações
Apollo no puede fusionar el caché en la llamada de recuperación

Estoy tratando de usar la función de combinación para cada recuperación (filtrando una lista), pero el valor existente siempre está indefinido.

Escriba Política de consulta que devuelva y filtre una lista:

 Query: { fields: { accounts: { keyArgs: false, merge( existing, incoming, {args: {page = 1, pageSize = 20}, readField} ) { const offset = (page - 1) * pageSize; if (!existing?.items) { return incoming; } const mergedItems = [...existing.items]; const existingIdSet = new Set( mergedItems.map((item) => readField('externalReferenceCode', item) ) ); const incomingItems = [...incoming.items].filter( (item) => !existingIdSet.has(readField('externalReferenceCode', item)) ); for (let i = 0; i < incomingItems.length; ++i) { mergedItems[offset + i] = incomingItems[i]; } return { ...existing, items: mergedItems, }; }, read(existing, {args: {page = 1, pageSize = 20}}) { const offset = (page - 1) * pageSize; if (!existing) { return; } return { ...existing, items: existing.items?.slice(offset, offset + pageSize), }; }, }, }, },

¿Estoy haciendo algo mal? Al verificar mediante la función de lectura, los valores pasan como se esperaba, pero cuando se llama a una recuperación, se vacían.

Para fusionar, el primero es el valor existente. Y en lectura, el valor impreso era el valor existente.

 typePolicy.js:34 merge undefined {__typename: 'AccountPage', items: Array(20), totalCount: 235} typePolicy.js:108 read {__typename: 'AccountPage', items: Array(20), totalCount: 235} typePolicy.js:34 merge undefined {__typename: 'AccountPage', items: Array(2), totalCount: 2} typePolicy.js:108 read {__typename: 'AccountPage', items: Array(2), totalCount: 2}

Y esta es la consulta:

 const GET_ACCOUNTS = gql` query getAccounts($filter: String, $pageSize: Int = 20, $page: Int = 1) { accounts(filter: $filter, pageSize: $pageSize, page: $page) { items { id externalReferenceCode name } totalCount } } `;
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda