Apollo-link: Biarkan pengguna apollo-link-batch-http memutuskan permintaan mana yang akan di-batch

Dibuat pada 7 Jan 2018  ·  2Komentar  ·  Sumber: apollographql/apollo-link

Saat menggunakan _apollo-link-batch-http_ semua permintaan dalam interval waktu tertentu dipanggil dalam batch. Dalam aplikasi kami sebagian besar permintaan cepat tetapi kami juga memiliki beberapa permintaan yang memakan waktu. Mengelompokkan permintaan lambat yang diketahui dengan yang lain akan menghasilkan pengalaman pengguna yang lebih buruk, karena sekarang semua permintaan memiliki waktu respons yang sama dengan yang paling lambat. Itu sebabnya alangkah baiknya jika ada panggilan balik yang dapat memutuskan apakah permintaan harus segera di-batch.

Komentar yang paling membantu

Anda dapat melakukannya dengan 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)

Buat kueri tidak menggunakan tautan batch

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

Di sini saya menggunakan noBatch dalam konteks untuk mengontrol apakah kueri harus di-batch. Secara default, semua kueri akan dikelompokkan.

Semua 2 komentar

Anda dapat melakukannya dengan 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)

Buat kueri tidak menggunakan tautan batch

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

Di sini saya menggunakan noBatch dalam konteks untuk mengontrol apakah kueri harus di-batch. Secara default, semua kueri akan dikelompokkan.

Terima kasih atas contohnya @charleyw - Saya akan melanjutkan dan menutup ini karena pertanyaannya tampaknya telah dijawab.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat