koh*_*hli 23 observable angular
我已经实现了这样的if语句
if (this.service.check() ) {
return true;
}
else {
}
Run Code Online (Sandbox Code Playgroud)
如果条件等待来自后端的响应.但是在observable执行之前,它会进入else语句并完成条件而不会在开始时检查if条件.
这是我从后端获取数据的可观察方法
public check(){
this.getActorRole().subscribe(
(resp => {
if (resp == true){
return true
}
}),
(error => {
console.log(error);
})
);
}
}
Run Code Online (Sandbox Code Playgroud)
那么如何使条件等待直到它从后端得到响应
Gün*_*uer 24
你不能等待Observable或Promise完成.您只能订阅它以在完成或发出事件时收到通知.
public check(){
return this.getActorRole() // <<<=== add return
.map(resp => {
if (resp == true){
return true
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
那么你可以做到
this.service.check().subscribe(value => {
if (value) {
return true;
}
else {
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果此代码的调用者也依赖于您再次需要的返回值
this.service.check()
.map(value => {
if (value) {
return true;
}
else {
}
}
Run Code Online (Sandbox Code Playgroud)
然后执行subscribe()您调用此代码的位置
| 归档时间: |
|
| 查看次数: |
54501 次 |
| 最近记录: |