【发布时间】:2020-07-29 15:46:35
【问题描述】:
我想等待一个函数完成,然后再执行它旁边的函数。 我有一个名为 getData() 的函数,其中发生了 http 调用,它返回一个 observable。第二个函数 checkDuplicate() 我们订阅了该函数 getData() 。我们还有第三个函数称为 proceed(),我们在其中调用 checkDuplicate() 函数,一旦 checkDuplicate() 函数完成,我们正在调用 alert("finished")。但是这里的问题是,甚至在 checkDuplicate() 函数完成之前,警报已经被触发了。
查找代码以获得更好的说明:
getData(): Observable<any>{
return this.http.get<any>(URL...);
}
checkDuplicate(){
return this.getData().subscribe(response => {
if(response){
console.log("Inside");
}
});
}
proceed(){
this.checkDuplicate();
console.log("finished");
}
实际结果
完成
里面
预期结果
里面
完成
我已尝试 asyn/await 等待 checkDuplicate() 函数完成。但还是没有用。 如果您分享解决方案,将不胜感激。 提前致谢!!!
【问题讨论】:
标签: async-await observable angular8 wait subscribe