rozwiązać metodę w przykładzie na angular.io zwraca obietnicę lub nawiguje aplikacji do określonej trasy, jeśli nie znaleziono żadnych danych.Resolve Guard: Prawidłowy sposób rozwiązania obserwowalnego z Routes, jeśli nie znaleziono żadnych danych
resolve(route: ActivatedRouteSnapshot): Promise<any> {
let id = +route.params['id'];
return this.cs.getCrisis(id).then(crisis => {
if (crisis) {
return crisis;
} else { // id not found
this.router.navigate(['/crisis-center']);
return false;
}
});
}
Załóżmy, że funkcja getCrisis powrocie zauważalny:
resolve(route: ActivatedRouteSnapshot): Observable<any> {
let id = +route.params['id'];
return this.cs.getCrisis(id).take(1)
}
w przypadku zaobserwowania. Skąd mam wiedzieć, że nic nie jest zwracane, ponieważ mam do czynienia ze strumieniem? jaki byłby najlepszy wzór do obsługi tego przypadku w funkcji rozstrzygania?
Wiem, że mogłem użyć metody router.navigate użytkownika z komponentu, ale chciałbym użyć routera rozwiązać problem poprawnie.
nie wiem zrozumieć pytanie. Co nie działa? –