javascript - 访问未捕获的 Promise 拒绝错误堆栈

标签 javascript error-handling stack-trace es6-promise

是否可以通过“unhandledrejection”promise 事件访问堆栈跟踪?

self.addEventListener("error", function(event) {
 console.log(event.error.stack)
 event.preventDefault()
}) //works

self.addEventListener("unhandledrejection", function(event) {
 console.log(event.error.stack)
 event.preventDefault()
}) //fails

Promise.reject()

最佳答案

如果您传递一个 Error 对象作为拒绝原因,那么您将有权访问堆栈。

self.addEventListener("error", function(event) {
  console.log(event.error.stack)
  event.preventDefault()
}) //works

self.addEventListener("unhandledrejection", function(event) {
  console.log(event.stack)
  event.preventDefault()
}) //works

Promise.reject(
  new Error('rejected') // here's the magic
)

关于javascript - 访问未捕获的 Promise 拒绝错误堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38112798/

相关文章:

javascript - 如何克隆 ui-sref

html - 可以为成对的 div 设置相等的高度,但前提是浏览器宽度为 960 或更宽?

javascript - 如何使用jQuery检查当前元素之后是否存在元素?

javascript - 我如何使用 ScrollSpy?

php - 有没有办法在 PHP 中捕获 fatal error ?

c# - 使用调用方法名称作为条件语句的条件

c# - 停止在 WebAPI 中显示整个堆栈跟踪

python - IOError : [Errno 13]

php - 警告: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\m2\my booking.php on line 158

java - 如何获得最长的堆栈跟踪?