亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular,如何進行連續的、依賴的http get請求

Angular,如何進行連續的、依賴的http get請求

一只萌萌小番薯 2022-10-08 15:05:52
我想在另一個完成后執行一個 http get 請求。第二個請求的端點 URL 需要依賴于第一個請求。我嘗試在 Angular 中使用類似這樣的內容嵌套請求:this.http.get(endpoint1).subscribe(   success => {      this.http.get(endpoint2 + success).subscribe(         anotherSuccess => console.log('hello stackoverflow!')      );   });關于stackoverflow的第一個問題,如果我應該提供更多細節,請告訴我。
查看完整描述

2 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

在這里你可以找到如何做到這一點,你有多種選擇:

訂閱:

this.http.get('/api/people/1').subscribe(character => {

  this.http.get(character.homeworld).subscribe(homeworld => {

    character.homeworld = homeworld;

    this.loadedCharacter = character;

  });

});

與mergeMap


this.homeworld = this.http

  .get('/api/people/1')

  .pipe(mergeMap(character => this.http.get(character.homeworld)));

有一個帶有 forkJoin 的版本,但與 subscribe 和 mergeMap 相比并不明確。


查看完整回答
反對 回復 2022-10-08
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

您可能應該嘗試使用ngrx(redux) 根據success操作觸發第二個請求。

流程應該是這樣的:從組件分派一個動作 -> 調用第一個請求 -> 請求觸發一個成功動作 -> 成功效果觸發第二個請求,其中包含來自前一個請求的有效負載。

http://img1.sycdn.imooc.com//634121780001ced119101070.jpg

在此處閱讀文檔


查看完整回答
反對 回復 2022-10-08
  • 2 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號