Начну с того, что я отвечаю на этот вопрос, который я опубликовал несколько мгновений назад
Теперь я подумал, что знаю Aysnc и Promise, но явно что-то упускаю.
Ссылка на помеченный ответ estus ,
Если API не поддерживает обещания, ошибки должны полностью обрабатываться в асинхронной функции.Тело функции должно быть заключено в try..catch, чтобы исключить необработанные отклонения, которые могут привести к исключениям в будущих версиях Node
Из чего я смог понять, что всякий раз, когда мы используем функция aysnc и мы хотим сделать Обработка ошибок нам нужно использовать try..catch
, а для обычных обещаний мы можем просто сделать разрешить / отклонить или, если этоуже обещание, тогда мы можем связать и сделать .then
и .catch
, но для этого я получил следующий ответ на комментарий
Да, вы можете ожидать ошибку.async / await - просто синтаксический сахар для необработанных обещаний.Любая асинхронная функция может быть переписана простым ES6
Возможно, этот вопрос будет расширен, но кто-то может помочь мне объяснить ..
Когда нам нужно использовать
.then
и .catch
и когда нам нужно использовать
try..catch
Кроме того, что означает
Если только APIподдерживает обещания