Я новичок в javascript и пытаюсь понять выражение функции как аргумент для вызова другой функции.
Вот один пример, который использует mongoose для поиска:
app.get('/auth/:id', (req, res) => {
var db = req.db;
User.findById(req.params.id, function(err, user){
if (err){
res.send(err)
}
res.send({
success: true
})
})
})
Я понимаю, что function(err,user){...}
внутри User.findById()
является выражением функции, и если User.findById()
возвращает что-то, она присвоит значение переменной user
, а также (если) сообщение об ошибке err
.
Меня смущает то, что если функция findById используется таким образом User.findById(param_1,param_2,...)
, токак err
и user
получают его значение?