【发布时间】:2021-06-13 11:09:56
【问题描述】:
我有一个循环,它调用一个返回Promise<any> 类型对象的方法,如果从该方法返回给我的结果是正确的,我想打破循环。我有 break 但循环继续:
for (let item of List) {
let currentItem = item .split(',');
if (flag != '0')
{
break;
}
this.service.getList(currentItem [0]).then(res => {
if (res != null) {
for (let i of res) {
if (i.serviceName == name) {
flag = selectIp;
break;
}
}
}
}).catch(res => {
});
}
服务中的代码:
getList(ip: string): Promise<any> {
const apiUrl = environment.url + '/getData';
return this.httpClient.post<any>(apiUrl, body)
.toPromise();
}
break 不工作。即使flag != '0' 和i.serviceName == name' 时,循环也会继续
【问题讨论】:
-
这个代码块有什么作用?
if (flag != '0') { break; }要不要在这里加一个return而不是break; ?
标签: typescript promise httpclient