问题很简单:如何让方法find()
返回一个带有找到的文档的 Observable?
如果我使用承诺,一切正常。
getData(){
return new Promise((resolve, reject) => {
this.db.find({}, (err, docs) => {
if (err) reject(err);
resolve(docs);
});
})
}
但是,如果我尝试使用 observables 来解决这个问题:
getDataObs() {
return new Observable(subscriber => {
this.db.find({}, (err, docs) => {
if (err) subscriber.error(err);
subscriber.next(docs);
});
})
}
订阅者得到的结果是未定义的。
我遇到了一种创建 observables 的方法,bindCallback()
应该可以解决这个问题,因为它接受回调并返回一个 observable。但我无法正确使用它。我真的需要一些帮助来理解这一点,因为我没有反应式编程的经验,这对我来说似乎很奇怪。