javascript - 未实现没有 catch 块的 Promise (unhandledrejection) javascript
问题描述
我用 VueJs Javascript 编写项目,并希望在控制台消息中查看我的任何 Promise 是否未实现且没有 catch 块。
我尝试过这样的事情
Promise.reject("error!");
window.addEventListener('unhandledrejection', event => {
console.log('i am error')
});
但没有成功。还有其他方法吗?或者我该如何解决这个问题?
解决方案
unhandledrejection
适用于目前仅在 Chrome 中实现的本机 Promises。如果您还想在其他浏览器中记录这些错误,则需要使用 bluebird 等其他实现覆盖本机 Promise:
Promise.reject("error!");
window.addEventListener('unhandledrejection', event => {
console.log('i am error')
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.5.1/bluebird.js"></script>
您需要确保将 bluebird 作为第一个脚本加载。
推荐阅读
- smartsheet-api-2.0 - 如何正确安装 Smartsheet Java SDK 并在 html 中使用它?
- android - Android studio gradle 重复类错误
- java - 如何在我的 savedInstanceState 上修复 NullPointerException 以及它发生的原因
- python - 如何将值从表单传递到 html-select
- python - 如何在安装包 phat 时修复 microsofot Visual Studio 中的错误?
- scala - 如何使用 Intellij IDE 运行 MLlib 使用示例?
- html - 如何在 Visual Studio 代码中关闭自动格式化版本:1.35.1(系统设置)
- javascript - 如果 MySQL 数据库中不存在数据,则插入数据,
- excel - 带有可切换范围的索引和匹配
- node.js - Angular 6 应用程序调用本地主机上的 API 被 CORS 阻止