【发布时间】:2020-06-18 09:25:21
【问题描述】:
我想在检查 observable 返回的条件后打破循环。当状态为 False 时,我想退出循环。我有以下代码:
var response = Observable<responseService>;
var i;
for (i =0; i < lin.length; i++){
response = this.http.post<responseService>(this.Url, {}, options).pipe(
map(data => {
return data;
}),
catchError((err) => {
return of(null);
}
));
var res = response.map(x => x.status);
console.log(res);
if (res === "False" || res === null) {
response{
status: "FALSE",
message: "ERROR"
}
return of(response);
}
}
return response;
但我收到以下 if 条件的错误
“条件将始终返回 false,因为类型 'Observable ' 和 'string' 没有重叠”。
如果有人知道我做错了什么或有解决方案,我将不胜感激。谢谢!
【问题讨论】:
-
这是异步调用,直到您的 if 条件,请求可能无法完成。使用 await 读取 observable 以等待回答
标签: javascript angular rxjs observable