1

コールバックの代わりに promises パターンで Zombie.js を使用してみました。唯一の問題は、ページの JavaScript で発生した JavaScript エラー (関係のないものであっても) が発生すると、チェーンを継続せずに promise が拒否されることでした。私がやっていることにとって重要なので、そのページのスクリプト実行を無効にすることはできません。

この問題の解決策を知っている人はいますか?

どうもありがとうございました。

4

2 に答える 2

5

失敗をキャッチして続行しませんか?

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

要点は、拒否ハンドラーが存在する場合は呼び出されますが、結果の promise は満たされていると見なされ (結局のところ、エラーは「正常に」処理されています)、後続thenの s は成功ハンドラーを呼び出すということです。

于 2013-11-10T05:02:38.017 に答える
-2

エラーがある場所で try/catch ブロックを使用して ください http://www.w3schools.com/js/js_errors.asp

于 2013-11-06T10:55:58.393 に答える