早上好
我在理解 Sequelize 和 RxJS 如何协同工作时遇到问题。 根据我的阅读,Sequelize 使用了 promises。现在,如果我想加载一个列表并在每次在我的数据库中找到一个元素时进行渲染,会发生什么? 我正在使用 sequelize 中的语法:
User.findAll().then()
但我想要的是将它包裹在一个可观察的对象中并能够使用:
var getAllUsersObservable = Rx.Observable.create(function (obs) {
obs.next(user)
}
然后我的观察者只想打印新用户。
var getAllUsersObserver = {
next: console.log(user)
}
对我来说,这行不通,因为 Sequelize 只会在找到所有用户后将我所有用户的列表放入其 promise 中。我的问题是:我如何同时使用这两个来打印我的用户,一次一个?
提前致谢
最佳答案
我还没有试过这个,但我确实有同样的问题,稍后会调查。但看起来您确实可以从 promise 中创建一个 Observable 对象。看到这个:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/gettingstarted/promises.md
我认为做这样的事情是将 Observables 和 promises 结合在一起的最佳方式。
let observable1 = Rx.Observable.fromPromise(User.findAll());
observable1.subscribe(...);
您可能必须执行一些其他 RX 操作,例如 Map、SwitchMap 等,但看起来这可能会让您更接近您所追求的目标。
希望这对您有所帮助!
关于javascript - Observables 和 Sequelize promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523077/