使用 Observable.merge 时永远不会调用 HTTP 请求
When using Observable.merge HTTP requests are never getting called
我正在尝试使用 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);
});
}
}
使用的版本:
Angular: 4.3.5
RxJS:5.1.0
检查网络控制台时,我看到从未进行过 http 调用,并且记录了 Observable 对象而不是来自 http 调用的响应。
对于Rxjs 5,您需要将 Observables 作为逗号分隔列表传递。试试这个:
Observable.merge(...respObs)
.subscribe(resp => {
console.log(resp); // Observable object not the Response object is getting logged.
}, err => {
console.log(err);
});
我正在尝试使用 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);
});
}
}
使用的版本:
Angular: 4.3.5
RxJS:5.1.0
检查网络控制台时,我看到从未进行过 http 调用,并且记录了 Observable 对象而不是来自 http 调用的响应。
对于Rxjs 5,您需要将 Observables 作为逗号分隔列表传递。试试这个:
Observable.merge(...respObs)
.subscribe(resp => {
console.log(resp); // Observable object not the Response object is getting logged.
}, err => {
console.log(err);
});