Что означает возврат, когда отправляет ответ от узла к угловому - PullRequest
2 голосов
/ 19 сентября 2019

Предположим, рассмотрим следующий пример:
1-й: -

projectController.getProjectById = function(req,res){

            return (res.status(200).send("Hey"));

}

2-й: -

projectController.getProjectById = function(req,res){

                res.status(200).send("Hey");

    }.

Присмотритесьв обоих моих фрагментах, в 1-м фрагменте я написал return (res.status(200).send("Hey"));, а во 2-м фрагменте я написал res.status(200).send("Hey");.

Мой вопрос заключается в том, что если мы не введем return(...) в res.send(), то он также отправит данные на клиентскую сторону.Тогда что значит обернуть res.send() внутри return(...).
Я искал в интернете, но остался недоволен ответом. Может ли кто-нибудь дать объяснение моего вопроса.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 19 сентября 2019

Ключевое слово return возвращается из вашей функции, тем самым заканчивая ее выполнение.Это означает, что любые строки кода после того, как он не будет выполнен.

Также, как только вы использовали код возврата ключевого слова, исполнителю / компилятору не нужно заботиться о следующей строке кодов

Для получения дополнительной информации см. Этот пост

1 голос
/ 19 сентября 2019

Чтобы добавить к ответу jitender, поскольку return завершает выполнение, return res.send() может быть использовано для очистки вашего кода, когда ответ условный.

Например, допустим, вы входите в систему пользователя...

if (!user) {
  res.status(400).send('User not found')
} else if (user.disabled) {
  res.status(400).send('User is disabled')
} else {
  // ...check password...

  if (passwordMatch) {
    res.send('Here is your token...')
  } else {
    res.status(400).send('Password did not match')
  }
}

Можно почистить так ...

if (!user) {
  return res.status(400).send('User not found')
}

if (user.disabled) {
  return res.status(400).send('User is disabled')
}

// ...check password...

if (passwordMatch) {
  return res.send('Here is your token')
}

res.status(400).send('Password did not match')

В конце концов, это стилистический выбор, хотите ли вы использовать возврат или блоки if-else.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...