Angular2非同期パイプを使用して値をDOMにストリームします。ここでは実際の簡単な例です:私がやりたい何Angular2非同期パイプによるエラー処理
const stream = Observable.interval(1000)
.take(5)
.map(n => { if (n === 3) throw "ERROR"; return n; });
<div *ngFor="for num of stream | async">
{{num}}
</div>
<div id="error"></div>
1-5のシーケンスを表示することですが、エラー項目に(3)、何とかエラーメッセージが表示されて#error
のdivを取り込みます。
これは2つのことを必要とするように思われます。まず、Angular非同期パイプがエラーのあるインテリジェントな処理を行う能力です。ソースコードを見ると、明らかにJS例外がスローされてしまいます。
2つ目は、エラーが発生した後でシーケンスを再起動し続けることです。私はcatch
とonErrorResumeNext
などについて読んだことがありますが、それらはすべてエラー時に切り替わる別のシーケンスを含んでいます。これは、ストリームを生成するロジックを非常に複雑にします。この単純な例では、一連の数値を入力するだけです。私は一度エラーが発生するとゲームが終了し、観察可能なものが完成し、異なる観察可能な状態でのみ「再開」することができます。私はまだ観察可能なことを学んでいます。これは実際に事実ですか?
は、だから私の質問は2つあり:
- はAngular2の非同期パイプは、エラーのある知的な何かを行うことができますか?
- observablesにはエラーが発生した後も簡単な方法がありますか?
を私の理解では、私たちが使用する必要があります非同期パイプは、エラーがないことを確認したときにのみ正しいですか? – refactor