Это то, о чем я подробно расскажу в FAQ (https://github.com/Sage/streamlinejs/blob/master/FAQ.md#the-underscore-trick-is-designed-for-callbacks- но-не-события, как-делать-я-дело-с-событий).
Самым простым решением является добавление знака подчеркивания в качестве дополнительного параметра для get
обратного вызова:
app.get('/', function(req,res, next, _) {
var users = User.find({name:'Jack'}, _);
res.send(users);
});
Единственная проблема будет, если connect
добавляет четвертый параметр на обратный вызов в один прекрасный день. Ниже немного безопаснее (но, вероятно, излишним, потому что я не понимаю, почему connect
бы изменить его обратного вызова API):
app.get('/', function(req,res) {
(function(_) {
var users = User.find({name:'Jack'}, _);
res.send(users);
})(trap); // trap is a generic callback that handles errors
});
К сожалению, у него есть третий параметр. См. Демонстрацию в документе expressjs: 'app.get ('/ users /: id?', Function (req, res, next) {..}' – Freewind
Затем вы можете добавить подчеркивание как четвертый параметр 'function (req, res , next, _) {..} 'или использовать второе решение. –
Я отредактировал ответ, чтобы добавить параметр' next'. Я также добавил параметр «trap» во втором решении. –