Typescript 等待observable为变量赋值,然后再尝试对其进行处理
我有一个问题,在处理可见光时不断出现:Typescript 等待observable为变量赋值,然后再尝试对其进行处理,typescript,rxjs,observable,subscription,Typescript,Rxjs,Observable,Subscription,我有一个问题,在处理可见光时不断出现: someObservable$.subscribe(response => this.ref = response); if (this.ref) { // do something with this.ref value } ERROR: this.ref is undefined 在运行依赖于this.ref的代码之前,如何等待订阅为this.ref提供了一个值 我假设这与时间有关,比如对数据库的订阅在读取完成之前需要一定的时间,因为
someObservable$.subscribe(response => this.ref = response);
if (this.ref) {
// do something with this.ref value
}
ERROR: this.ref is undefined
在运行依赖于this.ref
的代码之前,如何等待订阅为this.ref提供了一个值
我假设这与时间有关,比如对数据库的订阅在读取完成之前需要一定的时间,因为如果我将上面的代码附加到按钮单击事件,它将仅在我单击按钮几次后执行。因此,理论上,我可以使用setTimeout等待5秒,然后运行代码。但我想知道是否有一个RXJS操作符或其他东西来处理这个问题
谢谢假设
someObservable$
对于HTTP请求是可观察的,请将依赖this.ref的代码移动到订阅处理程序中。下面是一个例子:
someObservable$.subscribe(response => {
this.ref = response;
// Do whatever work relies on this.ref here.
});
一旦收到HTTP请求的响应,就会触发订阅处理程序。因此,这应该是做所需工作的时间。如果this.ref
是模板的变量,则模板应负责使用新值自动更新视图