コールバックの代わりに promises パターンで Zombie.js を使用してみました。唯一の問題は、ページの JavaScript で発生した JavaScript エラー (関係のないものであっても) が発生すると、チェーンを継続せずに promise が拒否されることでした。私がやっていることにとって重要なので、そのページのスクリプト実行を無効にすることはできません。
この問題の解決策を知っている人はいますか?
どうもありがとうございました。
コールバックの代わりに promises パターンで Zombie.js を使用してみました。唯一の問題は、ページの JavaScript で発生した JavaScript エラー (関係のないものであっても) が発生すると、チェーンを継続せずに promise が拒否されることでした。私がやっていることにとって重要なので、そのページのスクリプト実行を無効にすることはできません。
この問題の解決策を知っている人はいますか?
どうもありがとうございました。
失敗をキャッチして続行しませんか?
functionReturnsPromiseMightThrowError
.then(
null,
function(e) {
console.log("An error occurred deep within func", e, "continuing");
}
)
.then(doOtherStuff)
;
要点は、拒否ハンドラーが存在する場合は呼び出されますが、結果の promise は満たされていると見なされ (結局のところ、エラーは「正常に」処理されています)、後続then
の s は成功ハンドラーを呼び出すということです。
エラーがある場所で try/catch ブロックを使用して ください http://www.w3schools.com/js/js_errors.asp