是否可以使用"未处理的拒绝"来访问堆栈跟踪。承诺事件?
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()

答案 0 :(得分:1)
如果您传递一个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
)