0
最近1.5から1.6.3に更新され、$ qサービスを使用して遅延プロミスオブジェクトを使用しているコードがあります。ユニットテストが実行されます。ここでは
Possibly unhandled rejection: undefined thrown
は繰延約束を使用して、私は自分のコードを持っている機能の典型的な構造である:
public someFunction =() => {
const deferred = this.$q.defer();
if (someConditionIsTrue) {
this.myService.getThings().then((response) => {
deferred.resolve(response);
});
} else {
deferred.reject();
}
return deferred.promise;
};
私がスローされた、このエラーを取得し、他の条件をテストするユニット(使用カルマ\ジャスミン\ファントムJ)
私はすでに次のようにも設定されています:
config(['$qProvider', ($qProvider) => {
$qProvider.errorOnUnhandledRejections(false);
}])
誰かが正しい方向に私を指すことができますしてください?角度は、約束のすべての可能なルートを処理するためにあなたを示唆している
'deferred.reject()'のように 'deferred.reject(false)'のような引数を渡すことができますか? – codtex
私はあなたの提案を試みたが、以前は 'おそらく未処理の拒否:false throwそれは 'unde投げられた罰金」 – mindparse
はい、もちろん、今私は理解しています。 'somePromise.then(function(){/ * thisは解決関数* /}、function(){/ *これは関数を拒否する* /}はあなたの拒否を処理する関数を持っていないので、 }) '。これが理由であり、私が答えを投稿できるかどうか教えてください – codtex