在处理大型继承的代码库时,我偶然发现了这个不太有用的警告:
Possible Unhandled Promise Rejection (id: 0):
true
console.warn @ YellowBox.js:67
onUnhandled @ Promise.js:43
onUnhandled @ rejection-tracking.js:71
(anonymous) @ JSTimers.js:256
_callTimer @ JSTimers.js:152
callTimers @ JSTimers.js:405
__callFunction @ MessageQueue.js:349
(anonymous) @ MessageQueue.js:106
__guard @ MessageQueue.js:297
callFunctionReturnFlushedQueue @ MessageQueue.js:105
(anonymous) @ debuggerWorker.js:72
是否可以获取导致拒绝的promise的文件和行号,而无需遍历整个代码并在各处添加catch()?
答案 0 :(得分:0)
您可以在根组件中执行类似的操作。
componentDidCatch(error, info) {
console.log(error)
console.log(info)
}
不要记录您的错误,而是将其发送到您的数据库,以便您可以使用更多信息来解决该问题。
答案 1 :(得分:0)
解决方案是使用第三方承诺库,该库保留诸如Bluebird之类的其他堆栈跟踪,如以下答案中所述:https://stackoverflow.com/a/49129335/10236907