Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

168
Vistas
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 la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda