В настоящее время нет способа сделать это, по крайней мере, нелегко / встроенным.Вы можете запросить это как функцию на https://github.com/apollographql/apollo-feature-requests.
В зависимости от того, чего вы хотите достичь, вам может быть достаточно использовать промежуточное / дополнительное ПО на вашем HttpLink
, например:
import { ApolloLink } from 'apollo-link';
const middleware = new ApolloLink((operation, forward) => {
console.log('Starting', operation);
return forward(operation);
});
const afterware = new ApolloLink((operation, forward) => {
return forward(operation).map(response => {
console.log('Completed', operation);
return response;
});
});
const client = new ApolloClient({
cache: new InMemoryCache(),
link: ApolloLink.from([
middleware,
afterware,
new HttpLink({ ... }),
]),
});
middleware
будет вызываться перед каждым запросом, а afterware
- после.Вы можете прочитать больше о ссылках по адресу: https://www.apollographql.com/docs/link/.
В качестве альтернативы, глядя на некоторые API, которые Apollo публично предоставляет, я смог проверить этот "неофициальный" способ:
function queriesInFlight() {
// client is your ApolloClient instance
const { queryManager } = client;
return Object.keys(queryManager.queryStore.getStore()).filter(queryId =>
queryManager.checkInFlight(queryId),
);
}