有什么区别吗
Observable.pipe(take(1)).subscribe(...)
对比
const subscription = Observable.subscribe(() => {
// Do something, then
subscription.unsubscribe()
})
最佳答案
与 subscribe
相比,take(1)
方法有许多优点:
- 代码可读性(和优雅)。
- 第二种方法要求您保存和管理额外的变量。
- 第二种方法不会调用完整的处理程序。这是因为 .take(1) 实际上创建了一个新的可观察对象,该可观察对象可能会生成单个项目并完成。
- 第二种方法适用于获取单个元素的简单情况,但如果您需要获取超过 1 个元素,
take(4)
将保持简单,而第二种方法将变得难以实现代码。
第3项是rxjs相关的,其他与编码风格相关。
看看 sample here 。
关于Rxjs Observable.take(1) 与 Subscription.unsubscribe(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297826/