typescript 创建包含两个rest调用的Angular 方法,第二个调用取决于第一个调用的结果

w46czmvw  于 2023-01-18  发布在  TypeScript
关注(0)|答案(1)|浏览(119)

我需要创建一个包含两个独立的rest调用的函数,数据需要从第一个调用传递到第二个调用。这应该如何在angular中构造。
这段代码基本上是我需要它做的,但我不确定如何结构或格式。

getInfo(CName: string, PName: string, Id: string): void {
    this.subscriptions.push(
      this.FindService.getG(CName, PName)
        .subscribe((details: data) => {this.data = details})
    )
    this.subscriptions.push(
      this.FindAdminService.getP(CName, PName, Id)
        .subscribe((details: Info) => {this.data = details})
    )
  }
8cdiaqws

8cdiaqws1#

如果您必须同时执行这些操作:

getInfo(CName: string, PName: string, Id: string): void {

  forkJoin({
    details: this.FindService.getG(CName, PName),
    adminDetails: this.FindAdminService.getP(CName, PName, Id)
  }).subscribe(({ details, adminDetails }) => {
    // Do what you need here
  })

}

如果必须将一个接一个地链接:

getInfo(CName: string, PName: string, Id: string): void {

  this.FindService.getG(CName, PName).pipe(
    switchMap(details => this.FindAdminService.getP(CName, PName, Id))
  ).subscribe(adminDetails => {
    // Do what you need here
  });
}

相关问题