我有 4 个 http 请求。第三个接收查找值,而第四个获取实际的表单数据。
他们是这样的:
let medicalData = this.data.getCodes('medical').subscribe((data: {}) => {
console.log('med');
this.Medical = data;
});
let delayData = this.data.getCodes('delay').subscribe((data: {}) => {
console.log('del');
this.Delays = data;
});
let disabilityData = this.data.getCodes('disability').subscribe((data: {}) => {
console.log('dis');
this.Disability = data;
});
let districtData = this.data.getCodes('district').subscribe((data: {}) => {
console.log('dist');
this.District = data;
});
Run Code Online (Sandbox Code Playgroud)
如何让第 4 个 get 请求等到前三个请求完成?
提前致谢
Ted*_*rne 14
您应该使用forkJoin来达到预期的效果。forkJoin在发出值之前等待所有可观察对象完成。例子:
forkJoin(
this.data.getCodes('medical'),
this.data.getCodes('delay'),
this.data.getCodes('disability'),
this.data.getCodes('district'),
).subscribe(([medicalData, delayData, disabilityData, districtData]) => {
this.Medical = medicalData;
this.Delays = delayData;
this.Disability = disabilityData;
this.District = districtData;
// make your last http request here.
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9514 次 |
| 最近记录: |