Angular,如何进行连续的、依赖的http get请求

我想在另一个完成后执行一个 http get 请求。第二个请求的端点 URL 需要依赖于第一个请求。


我尝试在 Angular 中使用类似这样的内容嵌套请求:


this.http.get(endpoint1).subscribe(

   success => {

      this.http.get(endpoint2 + success).subscribe(

         anotherSuccess => console.log('hello stackoverflow!')

      );

   }

);

关于stackoverflow的第一个问题,如果我应该提供更多细节,请告诉我。


一只萌萌小番薯
浏览 94回答 2
2回答

阿波罗的战车

在这里你可以找到如何做到这一点,你有多种选择:订阅:this.http.get('/api/people/1').subscribe(character => {  this.http.get(character.homeworld).subscribe(homeworld => {    character.homeworld = homeworld;    this.loadedCharacter = character;  });});与mergeMapthis.homeworld = this.http  .get('/api/people/1')  .pipe(mergeMap(character => this.http.get(character.homeworld)));有一个带有 forkJoin 的版本,但与 subscribe 和 mergeMap 相比并不明确。

慕标琳琳

您可能应该尝试使用ngrx(redux) 根据success操作触发第二个请求。流程应该是这样的:从组件分派一个动作 -> 调用第一个请求 -> 请求触发一个成功动作 -> 成功效果触发第二个请求,其中包含来自前一个请求的有效负载。在此处阅读文档
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript