24.12 调试 Promise

调试 Promise 的工具逐渐在浏览器中出现了。让我们看下最新的谷歌浏览器提供了什么。下面是一个 HTML 文件的一部分,展示了使用 Promise 的两个常见问题:

<body>
    <script>
        // Unhandled rejection
        Promise.reject(new Error())
        .then(function (x) { return 'a'})
        .then(function (x) { return 'b'})

        // Unsettled Promise
        new Promise(function () {});
    </script>
</body>

第一段 JavaScript 代码中,没有处理异常情况。第二段 JavaScript 代码中, Promise 没有变为稳定状态。谷歌浏览器的开发者工具会帮助处理这两种问题。

未处理的异常将会被打印在控制台里:

同时也会在监视器的“ source ”标签页下高亮:

最后,有一个特殊的用于 Promise 的监视器会记录 web 页面创建的所有 Promise 。除了记录其它东西,还会记录:

  • 哪些 Promise 完成了(在第一列中显示绿色圆点),哪些失败了(红色圆点),哪些还在执行中(灰色圆点)
  • Promise 是如何连接的

results matching ""

    No results matching ""