Внутри этого бита кода задан параметр req
, но когда я попадаю в обратный вызов, его больше нет. Я все равно могу добраться до него через res.req
(странно). Что случилось? Я думал, что эта функция будет близка к окружающей среде.JavaScript-переменная poofs из существования в обратном вызове findById
function addDocument(req, res) {
// in scope
Request.findById(req.body._id, function(error, request){
if (request) {
// disappeared
} else {
res.send404('Couldn\'t find a request with that ID.');
}
});
}
Поскольку вы не используете 'req' переменную внутри функции, она не была захвачена. –
Что вы подразумеваете под словом "it is not [defined]"? Как в нем возвращается значение 'undefined', или вы получаете опорную ошибку при попытке использовать ее или ...? ** Пожалуйста, покажите код, в котором вы пытались его использовать. ** – nnnnnn
@nnnnnn Я понятия не имею, что произошло. Я пытался получить доступ к нему в реплике, но кажется, что сейчас все работает нормально. Так странно. –