Уточнение. Зачем нам нужно помещать вложенные асинхронные / ожидающие в другие асинхронные / ожидающие? - PullRequest
0 голосов
/ 26 марта 2020

Я больше смотрю на async/await и пытаюсь точно понять, когда использовать / не использовать его. Одна вещь, которая все еще озадачивает меня, заключается в том, создаете ли вы внешнюю функцию async, когда она вызывает только вложенную функцию async.

Я понимаю, что async/await переносит возвращаемое значение в Promise. Но должна ли внешняя функция также выполнять эту упаковку, даже если она отвечает только за выполнение внутренней функции async и не использует фактически возвращаемое значение (таким образом, не нужно ждать одного)?

Допустим, в качестве примера можно привести приложение, которое отправляет сообщения на сервер.

const someFunction = (userId) => {
   const message = 'Some message'
   try {
      asyncFunc(userId, message)
   } catch (e) {
      console.error(e)
   }
}

Внутренняя функция async отвечает за фактическое размещение, и это будет записано с помощью async/await.

Если someFunction необходимо также вернуть Обещание и, следовательно, быть превращенным в функцию async, значит ли это, что любая внешняя функция, которая также вызывает someFunction, также должна быть обернута? Должна ли каждая внешняя функция, вызывающая функцию async, быть помещена в самый внешний слой?

...