Bacon.js和RxJS与Express.js和Mongoose.js

我使用Express.JS(4.x版)在服务器端使用Bacon.js,

这个方法从不回应! 我在这里做的事情是非常错误的吗?

var User = require('../data/User'); var Bacon = require('baconjs').Bacon; module.exports = function(router){ router.route('/users').get(function(req, res){ var result = Bacon.fromNodeCallback(User.find, null); result.onValue(function(docs){ res.status(200).send(docs); }); result.onError(function(err){ res.status(500).send(err); }); }); }; 

很显然,我和RxJS一样都失败了…

 var User = require('../data/User'); var Rx = require('rx'); module.exports = function(router){ router.route('/users').get(function(req, res){ var query = Rx.Observable.fromNodeCallback(User.find)(); query.subscribe(function(docs){ res.send(docs); }, function(err){ res.send('Error: ' + err); }, function(){ console.log("COMPLETED"); }) }); }; 

这是返回的错误:

 Error: TypeError: Cannot read property 'discriminatorMapping' of undefined 

你应该使用一个对象来使用Bacon.fromNodeCallBack :

Bacon.fromNodeCallback(User, "find", null);

这将正确地绑定您的代码。