SPA, проверьте текущие ожидающие запросы на выборку с помощью API выборки или события или с помощью Apollo - PullRequest
1 голос
/ 31 января 2020

Исходя из jQuery Я знаю, что могу использовать jQuery.active для проверки количества активных jQuery AJAX соединений; Я должен постоянно опрашивать эту переменную, чтобы событие сработало при появлении новой связи. Я также могу использовать jQuery.ajaxStart() и jQuery.ajaxStop() события.

Я создаю SPA с GraphQL и Apollo (https://github.com/apollographql).

Apollo Link ( https://github.com/apollographql/apollo-link) - это уровень, который эффективно запускает запросы GET / POST.

Есть ли способ проверить, что запросы ожидают?

Здесь пользователь попробовал это: https://github.com/apollographql/apollo-link-state/issues/236 с использованием этого кода:

const queryInProcessNotifier = new ApolloLink((operation, forward) => {
  client.mutate({mutation:M_CHANGE_APP_SETTING, variables: { setting:"appIsLoading", state:true }})
  return forward(operation).map((data) => {
    client.mutate({mutation:M_CHANGE_APP_SETTING, variables: { setting:"appIsLoading", state:false }})
    return data
  })
})

Это работает, потому что каждый запрос проходит через него, но если он будет прерван по какой-либо причине, мой статус больше не изменится на false.

Также у меня есть много параллельных запросов для проверки, так что я могу создать «счетчик» +1 / -1 для каждого запроса, но все же проблема с прерванными.

Что Вы думаете о

1031 * Есть ли способ без библиотек вообще?

Есть ли fetch API или событие для подписки?

...