Найти местоположение `reject` для необработанных исключений - PullRequest
0 голосов
/ 06 февраля 2020

При регистрации обработчика исключений для необработанных исключений мне интересно, как можно было бы узнать, где это сработало (что-то вроде трассировки стека). Поскольку reject() происходил асинхронно, я не ожидаю полной трассировки стека, но по крайней мере получить некоторую информацию о том, откуда был вызван reject(), было бы здорово. e.reason не дает никаких подробностей, но я бы хотел увидеть фактическое местоположение в коде, который вызвал reject(). Например, чтобы проверить это, представьте гипотетический пример нескольких reject('oops') в коде, которые все не обрабатываются. Я буду рад видеть их фактическое местоположение в обработчике исключений.

https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent

window.onunhandledrejection = function(e) {
  console.log('where does this originate from?', e.reason, e);
}

new Promise((resolve, reject) => {
  setTimeout(() => {
    reject('foo');
   }, 2000);
});

new Promise((resolve, reject) => {
  setTimeout(() => {
    reject('foo');
  }, 2000);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...