Jos*_*vez 6 rxjs firebase google-cloud-firestore
我试图在Query#onSnapshot方法上创建一个rxjs observable.这是我的代码:
let observable = Rx.Observable.create(db.collection('conversations')
.where('members.' + auth.currentUser.uid, '==', true).onSnapshot)
observable.subscribe({next(value){console.log('value', value)}})
Run Code Online (Sandbox Code Playgroud)
我收到的错误是这样的:
TypeError:this.onSnapshotInternal不是函数
似乎onSnapshot方法被设置为duck-typed作为observable.Firestore还没有足够的文档供我解决.
car*_*ant 13
传递onSnapshot给时Rx.Observable.create,您将其未绑定地传递给查询.也就是说,你只是传递了这个Query.prototype.onSnapshot功能.
你可以使用bind,像这样:
const query = db
.collection('conversations')
.where('members.' + auth.currentUser.uid, '==', true);
let observable = Rx.Observable.create(query.onSnapshot.bind(query));
observable.subscribe({
next(value) { console.log('value', value); }
});
Run Code Online (Sandbox Code Playgroud)
或者可以使用箭头功能,如下所示:
let observable = Rx.Observable.create(observer => db
.collection('conversations')
.where('members.' + auth.currentUser.uid, '==', true)
.onSnapshot(observer)
);
observable.subscribe({
next(value) { console.log('value', value); }
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2596 次 |
| 最近记录: |