【问题标题】:Zombie.js - Ignore browser errors when using promisesZombie.js - 使用 Promise 时忽略浏览器错误
【发布时间】:2015-04-26 02:30:49
【问题描述】:

我尝试使用带有 Promise 模式而不是回调的 Zombie.js。唯一的问题是,当页面的 javascript 上发生任何 javascript 错误(甚至是不相关的错误)时,promise 将被拒绝,而不是继续链。我不能只禁用该页面的脚本执行,因为它对我正在做的事情很重要。

有人知道这个问题的解决方案吗?

非常感谢。

【问题讨论】:

    标签: javascript promise zombie.js


    【解决方案1】:

    为什么不捕获失败并继续?

    functionReturnsPromiseMightThrowError
        .then(
            null,
            function(e) {
                console.log("An error occurred deep within func", e, "continuing");
            }
        )
        .then(doOtherStuff)
    ;
    

    关键是,拒绝处理程序(如果存在)将被调用,但生成的 promise 被认为已经实现(毕竟,错误现在已经“成功”处理),随后的thens将调用他们的成功处理程序。

    【讨论】:

      【解决方案2】:

      在出现错误的地方使用 try/catch 块 http://www.w3schools.com/js/js_errors.asp

      【讨论】:

        猜你喜欢
        • 2014-09-23
        • 1970-01-01
        • 1970-01-01
        • 2020-04-13
        • 2013-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多