Возможно ли в JS отловить exception в promise коллбэке без присваивания отдельной переменной? Объясню, в чем суть:
//создаём промис со статусом resolved
var promise = new Promise(function(resolve) {
resolve('Hello, world');
});
//навешиваем коллбэк, в котором вызываем эксепшн
promise.then(function () {
throw 123;
});
//сюда эксепшн не попадёт, так как promise находится в статусе resolved
promise.catch(function (error) {
console.error('Exception: ', error);
});
Проблему могла бы решить следующая конструкция:
var promise = new Promise(function(resolve) {
resolve('Hello, world');
});
//присваиваем переменной other значение нового промиса
var other = promise.then(function() {
throw 123;
});
//в этом случае эксепшн пойман
other.catch(function(error) {
console.error('Exception: ', error);
});
Проблема состоит в том, что промис в моём случае будет создаваться во внешней библиотеке и нет возможности вернуть всю цепочку примисов. То есть хотелось бы отследить эту цепочку от начального промиса. Есть ли такая возможность?