我需要创建一个Observable在第一次调用时立即处理的订阅.
是否有类似的东西:
observable.subscribeOnce(func);
Run Code Online (Sandbox Code Playgroud)
我的用例,我在快速路由处理程序中创建订阅,并且每个请求多次调用订阅.
Bra*_*don 274
不是100%肯定你需要什么,但如果你只想观察第一个值,那么使用first()或者take(1):
observable.first().subscribe(func);
Run Code Online (Sandbox Code Playgroud)
注意:当条件满足时.take(1),.first()两者都会自动取消订阅
来自Coderer的评论.
import { first } from 'rxjs/operators'
observable
.pipe(first())
.subscribe(func);
Run Code Online (Sandbox Code Playgroud)
如果你只想调用一个 Observable 一次,这意味着你不会等待来自它的流。因此,在您的情况下使用toPromise()而不是subscribe()就足够了,因为toPromise()不需要取消订阅。
| 归档时间: |
|
| 查看次数: |
63260 次 |
| 最近记录: |