У меня есть какая-то функция async
, которая внутри ожидает некоторых обещаний, которые могут быть отклонены, и я хочу передать все ошибки возвращенному обещанию функции. JS делает ли это автоматически?
Например:
async foo(){
bar_result = await bar();
baz_result = await baz();
return 'ok';
}
foo()
.then(console.log)
.catch(console.error);
Что произойдет в приведенном выше примере, если либо bar()
, либо baz()
будет отклонено? Интуитивно понятно, что они попадают в строку .catch(console.error)
...
Моя альтернативная идея - заключить содержимое функции в блок try
, а затем catch(err){ throw err; }
, но это выглядит избыточно ...