Apollo-link: Позвольте пользователю apollo-link-batch-http решать, какой запрос обрабатывать

Созданный на 7 янв. 2018  ·  2Комментарии  ·  Источник: apollographql/apollo-link

При использовании _apollo-link-batch-http_ все запросы за определенный интервал времени вызываются пакетно. В нашем приложении большая часть запросов выполняется быстро, но у нас также есть некоторые трудоемкие запросы. Пакетирование известного медленного запроса с другим приведет к ухудшению взаимодействия с пользователем, так как теперь все запросы имеют то же время отклика, что и самый медленный. Вот почему было бы неплохо, если бы был обратный вызов, который мог бы решить, следует ли запускать пакетный запрос немедленно.

Самый полезный комментарий

Вы можете сделать это с помощью сплита
__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)

Сделать запрос, не использующий пакетную ссылку

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

Здесь я использую noBatch в контексте, чтобы контролировать, следует ли выполнять пакетную обработку запроса. По умолчанию все запросы будут группироваться.

Все 2 Комментарий

Вы можете сделать это с помощью сплита
__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)

Сделать запрос, не использующий пакетную ссылку

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

Здесь я использую noBatch в контексте, чтобы контролировать, следует ли выполнять пакетную обработку запроса. По умолчанию все запросы будут группироваться.

Спасибо за пример @charleyw - я

Была ли эта страница полезной?
0 / 5 - 0 рейтинги