Угловой, движение назад и быстрое движение вперед вызывает проблемы (компонент не разрушен) - PullRequest
0 голосов
/ 26 ноября 2018

Я постараюсь упростить приложение для целей этого вопроса.Допустим, у нас есть две страницы:

  1. / home
  2. / edit

При переходе на страницу /edit запрос beginEditсделано на заднем конце.При переходе от страницы /edit (т. Е. К /home) запрос endEdit выполняется на серверную часть.У меня есть canDeactivate охранник, который ловит навигацию и запрашивает пользователя, хочет ли он / она установить для параметра значение true или false (параметр в данном примере не имеет значения).Проблема заключается в том, что когда я имитирую медленную скорость сети и перехожу на /home (или просто жму назад), а затем быстро нажимаю браузер вперед, запрос прошел, но компонент не был уничтожен.Поэтому все, что я делаю на странице, больше не действует.Я не могу переместить запрос на ngOnDestroy(), потому что я должен быть уверен, что запрос прошел.

Есть ли хороший способ решения этой проблемы?

РЕДАКТИРОВАТЬ: Я добавил образец .

  1. Перейти к первому компоненту (ссылка)
  2. Нажмите кнопку Component Two
  3. Нажмите кнопку Component One
  4. Я добавил несколько задержек ... спам в браузере, пока он не станет активным
  5. Проверка консоли по пути

После вызова endEdit APIна странице Component Two она всегда должна уничтожать компонент.

...