С помощью обычных функций в Javascript вы можете выбросить ошибку вниз по стеку вызовов и обработать ее не сразу же, как это:
var a = function () {
throw new Error ("MyError!!!!");
};
var b = function () {
a();
};
try {
b();
} catch (e) {
console.log ("CAUGHT!!");
}
Но в асинхронных (async / await) функциях кажется, что ошибку нужно обрабатывать на каждом этапе пути.
Если у меня есть некоторая функциональность многократного использования в асинхронной функции, которая должна выдать ошибку, есть ли способ обработать ошибку не вызывающего абонента (как в примере - 2 уровня вниз по стеку вызовов вместо 1) поэтому я не рассматриваю шаблон N функций, которые его используют, и функций M, которые используют эти N функций?