Apollo-link: Deje que el usuario de apollo-link-batch-http decida qué solicitud enviar por lotes

Creado en 7 ene. 2018  ·  2Comentarios  ·  Fuente: apollographql/apollo-link

Cuando se usa _apollo-link-batch-http_, todas las solicitudes en un intervalo de tiempo específico se llaman por lotes. En nuestra aplicación, la mayoría de las solicitudes son rápidas, pero también tenemos algunas solicitudes que consumen mucho tiempo. Agrupar solicitudes lentas conocidas con otras daría como resultado una experiencia de usuario más pobre, ya que ahora todas las solicitudes tienen el mismo tiempo de respuesta que la más lenta. Es por eso que sería bueno si hubiera una devolución de llamada que pueda decidir si una solicitud debe ser disparada por lotes inmediatamente.

Comentario más útil

Puedes hacerlo con split
__links.js__

const batchHttpLink = new BatchHttpLink({
  fetch: createApolloFetch({
    constructOptions,
    uri: process.env.REACT_APP_API_ENDPOINT,
  }),
})

const normalHttpLink = createHttpLink({
  uri: '/graphql',
  credentials: 'same-origin',
})

export split(({getContext}) => getContext().noBatch, normalHttpLink, batchHttpLink)

Hacer una consulta, no usar un enlace por lotes

const ProfileWithData = graphql(CurrentUserForLayout, {
  options: { 
    context: { noBatch: true }
  },
})(Profile);

Aquí utilizo noBatch en contexto para controlar si una consulta debe ser procesada por lotes. De forma predeterminada, todas las consultas se agruparán.

Todos 2 comentarios

Puedes hacerlo con split
__links.js__

const batchHttpLink = new BatchHttpLink({
  fetch: createApolloFetch({
    constructOptions,
    uri: process.env.REACT_APP_API_ENDPOINT,
  }),
})

const normalHttpLink = createHttpLink({
  uri: '/graphql',
  credentials: 'same-origin',
})

export split(({getContext}) => getContext().noBatch, normalHttpLink, batchHttpLink)

Hacer una consulta, no usar un enlace por lotes

const ProfileWithData = graphql(CurrentUserForLayout, {
  options: { 
    context: { noBatch: true }
  },
})(Profile);

Aquí utilizo noBatch en contexto para controlar si una consulta debe ser procesada por lotes. De forma predeterminada, todas las consultas se agruparán.

Gracias por el ejemplo @charleyw . cerraré esto ya que la pregunta parece haber sido respondida.

¿Fue útil esta página
0 / 5 - 0 calificaciones