Выражение функции в качестве аргумента для вызова другой функции - PullRequest
0 голосов
/ 17 июня 2019

Я новичок в 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 получают его значение?

1 Ответ

0 голосов
/ 23 июня 2019

Оказывается, мой вопрос о обратном вызове в javascript. Вот очень хороший пост на эту тему: https://codeburst.io/javascript-what-the-heck-is-a-callback-aba4da2deced

...