javascript - 在执行更多代码之前,如何等待可观察对象更新?
问题描述
我认为 observable 可能不适合在这里使用,但我不确定我还能用什么来为另一个类提供变量值的实时更新。
我在服务类中有这个循环
elements.forEach(element => {
doStuff();
this.numberSubject.next(valueFromDoStuff);
})
以及订阅我的组件类中的 observable
numberSubjectObservable.subscribe(result => {
this.value = result
}
我想要的是能够暂停循环,直到使用订阅中的最新值更新我的 Angular 组件,但现在它会等到结束后再呈现最终值。
解决方案
不确定我是否完全理解您在这里尝试执行的操作,但如果您需要等待 this.value 等于 numberSubjectObservable 结果,您可以使用异步方法并尝试以下操作
你可以改变这个
numberSubjectObservable.subscribe(result => {
this.value = result
}
对此
this.value = await numberSubjectObservable.toPromise();
推荐阅读
- r - 如何根据另一个数据集中的值过滤一个数据集中的日期和时间
- selenium - 无法在 QAF 中实现 DataTable 黄瓜功能
- amazon-web-services - 如何使用 CLI 获取任何给定区域的所有 pod 详细信息
- python - 如何使用 ModbusTCP 协议将 sensor_1 和 sensor_2 的值从 slave-PC 传输到 master-PC?
- r - R - 结合两个数据表元素的简单方法是什么?
- javascript - onclick,按钮向下移动,为什么会这样?
- android - Android Compose-Navigation 2.4.0-alpha2 崩溃并出现 NoSuchMethodError
- flutter - 无法根据设备大小初始化变量
- security - 没有登录页面的网站之间的授权
- javascript - 如何停止节点js中代码的执行而不是返回