что происходит с http-запросом при изменении маршрута в SPA - PullRequest
0 голосов
/ 08 декабря 2018

давайте представим, что запрос загружается и страница (компонент) меняет то, что происходит с запросом, который загружается?

, пожалуйста, учтите, что это в случае использования front-End SPA (одностраничное приложение), например, проекты с angular.js, angular, реаги и другими .. &&

и что произойдет в back-Конец ?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

есть некоторые опции в зависимости от используемой вами библиотеки запросов.Но, как вы сказали, это одностраничное приложение, и вы можете отключить эту страницу или компонент.

Пример:

Используя реагировать, одним из методов жизненного цикла является ComponentWillUnmount, представьте, что вы отправляете запрос в ComponentDidMount и до его завершения пользователь покидает страницу.Вы можете отменить запрос в ComponentWillUnmount .

Вы можете отменить запросы, используя почти все библиотеки http, в частности, действительно полезен вариант redux-obseravble с rxjs.

import { ajax } from 'rxjs/ajax';

const fetchUserEpic = action$ => action$.pipe(
  ofType(FETCH_USER),
  mergeMap(action => ajax.getJSON(`/api/users/${action.payload}`).pipe(
    map(response => fetchUserFulfilled(response)),
    takeUntil(action$.pipe(
      ofType(FETCH_USER_CANCELLED)
    ))
  ))
);

Когда пользователь нажимает кнопку или когда вы загружаете страницу, вы можете запустить действие для извлечения пользовательских данных, пока оно не завершится или не будет запущено действие fetch_user_cancelled, например, в componentWillUnmount.

Я надеюсь помочьВы:)

0 голосов
/ 08 декабря 2018

Как только запрос был запущен из SPA, он будет оставаться открытым до тех пор, пока не будет получен ответ от бэкэнда или не будет разорвано соединение.Прекращение может происходить несколькими способами, например:

  • Перезагрузка страницы.
  • Прекращение вручную с использованием объекта clientreq.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...