Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http post调用并在foreach内部等待响应,然后使用observables/angular触发下一个调用_Angular_Rxjs_Observable_Angular2 Observables - Fatal编程技术网

Http post调用并在foreach内部等待响应,然后使用observables/angular触发下一个调用

Http post调用并在foreach内部等待响应,然后使用observables/angular触发下一个调用,angular,rxjs,observable,angular2-observables,Angular,Rxjs,Observable,Angular2 Observables,//我有一个数组,我正在使用foreach循环并进行httppost调用。问题是,我需要等待成功/错误响应并触发第二个http调用,然后从数组索引触发第三个http调用。我尝试使用forkJoin,但它会在数组本身的末尾触发响应。能帮我解决这个问题吗 我的示例代码如下所示: let cars=[ { 颜色:'红色', 品牌:本田 }, { 颜色:'白色' 品牌:“奥迪” } ]; //组成部分 让observables=cars.map(car=>this.carService.getCarBy

//我有一个数组,我正在使用foreach循环并进行httppost调用。问题是,我需要等待成功/错误响应并触发第二个http调用,然后从数组索引触发第三个http调用。我尝试使用forkJoin,但它会在数组本身的末尾触发响应。能帮我解决这个问题吗

我的示例代码如下所示:

let cars=[
{
颜色:'红色',
品牌:本田
},
{
颜色:'白色'
品牌:“奥迪”
}
];
//组成部分
让observables=cars.map(car=>this.carService.getCarByBrand(car));
//forkJoin数组/观察值集合
让source=Observable.forkJoin(Observable);
订阅(x=>console.log(x);
//组成部分
//触发点
返回此.carQuestion().do(响应=>{
selectedCar=响应;
});
私人问题(){
让观测值=汽车。地图(汽车=>
this.carService.carSelection(this.language,car));
让源=concat(…可观测);
subscribe(x=>console.log(x));
}
//汽车服务
//carSelection应在每次调用时触发,并等待响应
车辆选择(语言:字符串、车辆){
//post调用打开的位置。注意如果我发送单个响应
//没有汽车环路,一切正常
返回this.inputService.getInput(
inputService.mapper,
).flatMap(响应=>{
如果(回答:是){
可观测收益({
selectedCar:response.data,
});
}
否则{
可观测的返回值(空);
}
}).first();
}

谢谢!

您看过
concat
操作符了吗?那么您想发出每个单独的响应还是什么?