小编Pra*_*avy的帖子

Angular 中多个 HTTP 请求的最佳方式

我正在尝试一一发送 2 个 HTTP 请求;如果第一个成功,则发送第二个,如果不成功,则显示关于第一个请求的相应错误消息。

我打算使用类似的东西,但不确定它是否是这种情况的最佳选择:

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'app-root',
  templateUrl: 'app/app.component.html'
})
export class AppComponent {
  loadedCharacter: {};
  constructor(private http: HttpClient) {}

  ngOnInit() {
    this.http.get('/api/people/1').subscribe(character => {
      this.http.get(character.homeworld).subscribe(homeworld => {
        character.homeworld = homeworld;
        this.loadedCharacter = character;
      });
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

我有不同的请求,例如 PUT 和 CREATE 也使用这种方法。我知道还有其他方法,例如forkjoin, mergemap,但是如果这个方法解决了我的问题,则似乎更具可读性。任何的想法?

javascript rxjs typescript angular

3
推荐指数
1
解决办法
1232
查看次数

标签 统计

angular ×1

javascript ×1

rxjs ×1

typescript ×1