之间是否有任何差异
Observable.pipe(take(1)).subscribe(...)
vs
const subscription = Observable.subscribe(() => {
// Do something, then
subscription.unsubscribe()
})
答案 0 :(得分:11)
与take(1)
相比,subscribe
方法有许多优势:
take(4)
将保持简单,而第二种方法将变得难以编码。第3项是与rxjs相关的项目,其他项目与编码风格有关。
看看sample here。
答案 1 :(得分:5)
在Angular2中,我发现自己使用了两种范例。
第一个在方法中最有意义,其中第二个在构造函数中更好用,在解构函数中有清理。
doThing(){
this.store.select('thing')
.take(1)
.subscribe(item => {
otherMethod(item)
});
}
VS
class SomeClass{
public val;
private sub;
constructor(){
this.sub = this.store.select('thing')
.subscribe(item => {
this.val = item
});
}
ngDestroy() {
this.sub.unsubscribe()
}
}