我希望在订阅firebase返回时获取城市时取消订阅。
但出现问题,当我尝试取消订阅时会出现以下错误。
如何解决?
我的代码。
getCities() {
let i: any;
let a = this.firebaseProvider.getOtoparks()
.subscribe(data => {
for (i = 0; i < data.length; i++) {
this.cities.push({
name: data[i]['details']['sehir'],
value: i,
}
);
}
// try to unsubscribe
a.unsubscribe();
});
}
答案 0 :(得分:2)
最佳做法是在没有条件的情况下取消订阅时使用take(1)。
getCities() {
let i: any;
let a = this.firebaseProvider.getOtoparks()
.take(1)
.subscribe(data => {
for (i = 0; i < data.length; i++) {
this.cities.push({
name: data[i]['details']['sehir'],
value: i,
});
}
});
}