2017-07-27 2 views
0

私はAngularのPromise.all()メソッドを使用します。エラー処理はサービスで行われるため、コンポーネント内に.catch()メソッドは必要ありません。しかし、例のように私がそれを残すと、約束が拒否されても.then()メソッドが実行されます。私はなぜそれが起こっているのか分かりません。キャッチメソッドなしでAngular Promise.allを使用すると予期しない動作が発生する

コードの例:

const promises = [promise1, promise2]; 
Promise.all(promises) 
    .then(suc => { 
    // gets executed in error case 
    this.result1= suc[0]; 
    this.result2= suc[1]; 
    }); 
+0

「約束が失敗する」とはどういう意味ですか? –

+0

'promise1'と' promise2'のロジックを見ることなく助けてもらえませんが、サービスで 'catch'すれば、約束は失敗しませんでした。 –

+0

@ Maximus約束が拒否されたら私は意味した。 –

答えて

0

Iコンポーネントにサービスからエラー処理を移動させることによってそれを解決しました。サービスのエラーをキャッチすると、コンポーネントに正しく渡されないためです。

関連する問題