Rxjs可观察到。获取(1)vs订阅。取消订阅()
两者之间有什么区别吗Rxjs可观察到。获取(1)vs订阅。取消订阅(),rxjs,Rxjs,两者之间有什么区别吗 Observable.pipe(take(1)).subscribe(...) vs 与订阅相比,take(1)方法有许多优点: 代码可读性(和优雅) 第二种方法需要保存和管理额外的变量 第二种方法不会调用完整的处理程序。这是因为.take(1)实际上创建了一个新的可观察项,该可观察项可能生成一个单独的项并完成 第二种方法适用于使用单个元素的简单情况,但如果需要使用多于1的元素,take(4)将保持简单,而第二种方法将变得难以编码 第三项是与rxjs相关的,其他与编码风格
Observable.pipe(take(1)).subscribe(...)
vs
与订阅相比,take(1)
方法有许多优点:
take(4)
将保持简单,而第二种方法将变得难以编码看一看 在Angular2中,我发现自己使用了两种范式 第一种方法在方法内部最有意义,而第二种方法最好在构造函数中使用,在解构器中进行清理
doThing(){
this.store.select('thing').pipe(take(1))
.subscribe(item => {
otherMethod(item)
});
}
vs
完全同意eleganceRxJS 6:this.store.select('thing').pipe(take(1)).subscribe(item=>{otherMethod(item)});可能重复的
doThing(){
this.store.select('thing').pipe(take(1))
.subscribe(item => {
otherMethod(item)
});
}
class SomeClass{
public val;
private sub;
constructor(){
this.sub = this.store.select('thing')
.subscribe(item => {
this.val = item
});
}
ngDestroy() {
this.sub.unsubscribe()
}
}