我正在尝试一一发送 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,但是如果这个方法解决了我的问题,则似乎更具可读性。任何的想法?