gpt4 book ai didi

angular2 等到 if 条件下的 observable 完成

转载 作者:太空狗 更新时间:2023-10-29 16:53:52 26 4
gpt4 key购买 nike

我已经实现了这样的 if 语句

if (this.service.check() ) {
return true;
}
else {
}

这个 if 条件等待后端的响应。但是在 observable 被执行之前,它会进入 else 语句并完成条件,而不在开始时检查 if 条件。

这是我从后端获取数据的可观察方法

public check(){
this.getActorRole().subscribe(
(resp => {
if (resp == true){
return true
}

}),
(error => {
console.log(error);
})
);
}
}

那么如何让条件等待直到得到后端的响应

最佳答案

您不能等待 ObservablePromise 完成。您只能订阅它以在它完成或发出事件时收到通知。

public check(){
return this.getActorRole() // <<<=== add return
.map(resp => {
if (resp == true){
return true
}
);
}
}

那么你可以做

this.service.check().subscribe(value => {
if (value) {
return true;
}
else {
}
}

但是如果这段代码的调用者也依赖于你再次需要的返回值

this.service.check()
.map(value => {
if (value) {
return true;
}
else {
}
}

然后在调用这段代码的地方执行subscribe()

关于angular2 等到 if 条件下的 observable 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41912629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com