【发布时间】:2018-04-12 20:56:34
【问题描述】:
我遇到了异步 http.get 的问题。在循环中,我有 http.get,我认为 - 在这种情况下 - 更好的是同步方法。你怎么看?我该如何解决这个问题?
我使用 Ionic 2。
下面是我的代码:
for (var key in this.beacons) {
alert('beacon id: ' + this.beacons[key]['url']);
this.http.get('http://website.com/app.php?id=' + this.beacons[key]['url']).map(res => res.json()).subscribe(
data => {
this.json = data.config;
alert('alert json, id: ' + this.beacons[key]['url']);
}, error => {
this.jsonError = true;
});
if (this.json['id']) {
alert('alert end, id: ' + this.beacons[key]['url']);
break;
}
}
一开始我收到大约 10 个警报“信标 ID”,最后我收到“警报 json”。
我想要达到的目标:
- 在数组中我有大约 10 个项目
- 每个循环都使用信标的 url 向我的服务器发出请求
- 只有少数信标获得数组响应
- 当我收到第一个带有配置数组的 JSON 响应时,我想打破循环
问题是答案来晚了,我无法保持中断循环等。
【问题讨论】: