В Angular порядок guards задаёт приоритет результата, но не гарантирует последовательное ожидание каждого асинхронного guard.
Каков порядок выполнения нескольких guards в массиве маршрута и что произойдёт, если один из них вернёт `false`?
В Angular порядок guards задаёт приоритет результата, но не гарантирует последовательное ожидание каждого асинхронного guard.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Angular порядок guards задаёт приоритет результата, но не гарантирует последовательное ожидание каждого асинхронного guard.
Асинхронные проверки массива могут выполняться одновременно. Для canActivate итоговый false отменяет навигацию; canMatch=false позволяет искать другой подходящий маршрут. Если второй guard зависит от результата первого, объедините их в явную последовательную композицию. Клиентские guards не заменяют серверную авторизацию.
Источник: github.com, raw.githubusercontent.com.