Zombie.js - 使用promises时忽略浏览器错误

Thi*_*ago 1 javascript promise zombie.js

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

有谁知道这个问题的任何解决方案?

非常感谢你.

小智 5

为什么不抓住失败并继续?

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

关键是,拒绝处理程序(如果存在)将被调用,但结果承诺被认为已经完成(毕竟,错误现在已被"成功"处理),随后的thens将调用其成功处理程序.