首页 > 解决方案 > 重构混乱的订阅以便进一步订阅

问题描述

我正在学习 Angular 并且遇到了我喜欢但仍然不完全理解的 Observables。所以我有一个 Observable 需要完成一个 observable 才能继续。

我有一些序列问题,因为它们是独立的,所以我需要嵌套它们以确保第二个 Observable 等待第一个完成。我想知道是否有更好的方法来处理我所做的事情,因为它看起来有点混乱。我可能需要在这个结构中添加另一个嵌套的 observable。

这是我的代码示例...

    this.permissionService.build().subscribe( p =>{
        this.Headers = p; 
        this.accessService.buildTitlesWithMenus().subscribe( q => {
          this.treeNodes = this.accessService.buildTreeTable(q); 
        });                 
    });

标签: angulartypescriptobservable

解决方案


this.permissionService.build().pipe(
  tap(p => this.Headers = p),
  switchMap(p => this.accessService.buildTitlesWithMenus()),
).subscribe(q => this.treeNodes = this.accessService.buildTreeTable(q));

这将是正确的做法。

如果您有任何问题随时问 !


推荐阅读