具有嵌套承诺和可观察的棱角分明的决心



我在一个组件中使用了带有路由的解析,但在解析中,一个HTTP调用依赖于另一个Promise调用。

resolve(){
  return this.storage.getUser().then( user => {
    this.getVendorDetails(user.login);
  });
}
getVendorDetails(loginId) {
  return this.http.get('http://localhost:8080/user/getVendor/' + loginId);
}

当我尝试从组件中获取数据时ActivatedRoute

ngOnInit() {
  this.activatedRoute.data.subscribe( data => {
    console.log(data);
  });
}

我越来越undefined.也许我在解析函数中缺少一些东西。如何使用ActivatedRoutegetVendorDetails()响应ngOnInit()

要么让一个成为观察者,要么让另一个成为承诺,并始终返回以下内容:

resolve() {
  return this.storage.getUser().then(user => this.getVendorDetails(user.login).toPromise());
}

resolve() {
  return from(this.storage.getUser()).pipe(
    switchMap((user) => this.getVendorDetails(user.login))
  );
}

最新更新