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
是模板的变量,则模板应负责使用新值自动更新视图