Angular 使用Observable.merge时,永远不会调用HTTP请求
我正在尝试使用Angular 使用Observable.merge时,永远不会调用HTTP请求,angular,observable,angular2-observables,Angular,Observable,Angular2 Observables,我正在尝试使用merge操作符循环http请求 服务: addData(data) { return this.http .post(this.url, data) .map(resp => { return resp; }); } 组件: addData(data) { if (data.length != 0) { let respObs: Observable<Re
merge
操作符循环http请求
服务:
addData(data) {
return this.http
.post(this.url, data)
.map(resp => {
return resp;
});
}
组件:
addData(data) {
if (data.length != 0) {
let respObs: Observable<Response>[] = [];
data.forEach(element => {
respObs.push(this.addService.addData(element));
});
Observable.merge(respObs)
.subscribe(resp => {
console.log(resp); // Observable object not the Response object is getting logged.
}, err => {
console.log(err);
});
}
}
addData(数据){
如果(data.length!=0){
let respObs:Observable[]=[];
data.forEach(元素=>{
respObs.push(this.addService.addData(元素));
});
可观察。合并(respObs)
.订阅(resp=>{
console.log(resp);//可观察对象不是正在记录响应对象。
},err=>{
控制台日志(err);
});
}
}
使用的版本:
addData(data) {
return this.http
.post(this.url, data)
.map(resp => {
return resp;
});
}
角度:4.3.5RxJS:5.1.0 检查网络控制台时,我看到从未进行过http调用,并且记录了可观察对象,而不是http调用的响应。对于,您需要将可观察对象作为逗号分隔的列表传递。试试这个:
Observable.merge(...respObs)
.subscribe(resp => {
console.log(resp); // Observable object not the Response object is getting logged.
}, err => {
console.log(err);
});
对于,您需要以逗号分隔的列表形式传递观察值。试试这个:
Observable.merge(...respObs)
.subscribe(resp => {
console.log(resp); // Observable object not the Response object is getting logged.
}, err => {
console.log(err);
});
请同时提及您正在使用的Angular和Rxjs版本。添加了我正在使用的版本。请同时提及您正在使用的Angular和Rxjs版本。添加了我正在使用的版本