Я новичок в javascript, так что это может быть что-то тривиальное. Я пытаюсь запустить ряд функций последовательно в соответствии с методом водопада асинхронного модуля для Node JS/Restify. Основное преимущество этого метода заключается в том, что можно передавать «результаты» текущего обратного вызова на следующий и т. Д., Имея возможность разбить «водопад» и запустить следующее промежуточное программное обеспечение.Потеря области с async.waterfall
Как описано в документации, его аргументы представляют собой набор функций и последнее промежуточное программное обеспечение.
Так настроить мою функцию в соответствии с кодом ниже и вызвать
var fn1 = function(callback){
console.log(req.params.user_id);
callback(null, req.params.user_id);
};
var fn2 = function(user_id, callback){
console.log(user_id);
callback();
}
server.get('/:user_id',
function(req, res, next){
async.waterfall([fn1, fn2],
function(err, result){
next();
})
},
...(next middleware)
)
И я не получаю ожидаемые результаты, так как объект REQ не определен. Однако при этом:
server.get('/:user_id',
function(req, res, next){
async.waterfall([
function(callback){
console.log(req.params.user_id);
callback(null, req.params.user_id);
},
function(user_id, callback){
console.log(user_id);
callback();
}
],
function(err, result){next()});
},
...(next middleware)
)
я ожидал результатов и объект REQ хорошо определен в области видимости функции 1 (fn1).
Так что я думаю, что я что-то отсутствует довольно простой, но не не, где начать ..
Благодаря
Спасибо! Я не знал об этом. – nullpointer