在我的有角度的应用程序中,我使用的解析器在方法resolve中返回可观察到的promise。 (正确(路由)或错误(路由失败))
在rxjs6版本中,函数“ Observable.fromPromise”被替换为“ from”,用于查找promise类型/实例并将作为一个对象处理。
为什么在rxjs6中我有“ from”的另一种行为,在下面的示例中,路由器将不会导航到“ home”,看来诺言不会发出/结束 >
如果我将其返回为Observable,它将无法路由到给定的链接,如果我在不评估返回值的情况下调用它,则它将正常工作。
示例:
import { from } from 'rxjs';
@Injectable()
export class ExampleResolver implements Resolve<boolean> {
constructor(private router: Router) {
}
resolve(activatedRouteSnapshot: ActivatedRouteSnapshot): Observable<boolean> {
return from(this.router.navigate(['/home'])); // not working
// return Observable.fromPromise(this.router.navigate(['/home'])); works
}
}
答案 0 :(得分:0)
可以这样
return Observable.from(this.router.navigate('/home'));
或从
导入import { from } from 'rxjs';