You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
После запуска ns.page.go() запускается асинхронное действие - ns.page.followRoute(route). Пока оно не завершится - ns.page хранит своё предыдущее состояние (ns.page.current и ns.page.currentUrl).
При этом, если кто-то запустит ns.page.go() без параметров в этот момент - параметры будут скопированы с текущего состояния ns.page - т.е. неактуальные.
В итоге второй вызов ns.page.go() перебивает первый вызов ns.page.go(url1) и получаем неконсистентное состояние приложения.
The text was updated successfully, but these errors were encountered:
примерно так и хотим сейчас сделать да
но есть деталь: текущий update может быть к примеру на стадии отрисовки уже
и тогда если мы поменяли данные и хотим ещё раз всё перерисовать посредством ns.page.go() - будет fail..
Кейс:
url0
ns.page.go(url1)
- хотим перейти наurl1
ns.page.go()
- хотим перерисовать текущую страницу (нам даже не важно, это будетurl0
илиurl1
, просто текущую)Результат (кейс воспроизводится нестабильно, но часто):
url1
url0
Возможные причины:
ns.page.go()
выглядит схематически так:После запуска
ns.page.go()
запускается асинхронное действие -ns.page.followRoute(route)
. Пока оно не завершится -ns.page
хранит своё предыдущее состояние (ns.page.current
иns.page.currentUrl
).При этом, если кто-то запустит
ns.page.go()
без параметров в этот момент - параметры будут скопированы с текущего состоянияns.page
- т.е. неактуальные.В итоге второй вызов
ns.page.go()
перебивает первый вызовns.page.go(url1)
и получаем неконсистентное состояние приложения.The text was updated successfully, but these errors were encountered: