我有一个路由解析器,我需要按顺序进行两次方法调用,它们都返回observable。我不需要对第一次调用的响应做任何事情,但我想返回第二次调用中返回的数据的路径组件。有人能给我一个如何做到这一点的例子吗?我想我应该使用flatMap()但我似乎无法让它工作。
所以基本上:firstMethod():Observable - > secondMethod():Observable< - 返回此值。
答案 0 :(得分:1)
你基本上想要这样的东西:
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<string> {
return this.someService.firstCall()
.switchMap(res => this.someService.secondCall())
}
如有必要,您还可以map
secondCall()
更具体的价值。