angular - 使用 Observable.merge 时,永远不会调用 HTTP 请求
问题描述
我正在尝试使用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);
});
}
}
使用的版本:
角度: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);
});
推荐阅读
- python - 如何将 URL 重定向到某个 URL Django Regex
- tensorflow - 如何设计具有多个相关输出的神经网络?
- facebook-messenger - FB Messenger DELETE 持久菜单请求不起作用
- azure-ad-b2c-custom-policy - 使用 github 操作部署 B2C_1A_TRUSTFRAMEWORKBASE 时遇到问题
- java - 如何使用 maven-jar-plugin 从自定义 jar 文件中排除 META-INF 文件夹
- java - 使用 Java 中的 Graphics2D.drawImage 在 Canvas 上绘制后,透明的 PNG 图像会改变颜色
- .htaccess - 将每个 url 重定向到索引 .php,即使它存在于使用 .htaccess 的项目中
- jupyter-notebook - 找不到造纸厂操作员的输出文件/文件夹。阿帕奇气流 2.0。假设在 tmp 文件夹中。Output_nb="/tmp/out-{{ execution_date }}.ipynb"
- reactjs - 如何将具有组件的状态存储在 localStorage 中?
- macos - 如何在visual studio代码vim扩展中将大写锁定键映射到esc?