1
未来のリストを与えられたすべてのエラーを非同期的にキャッチすることは可能ですか?一連の先物によるスキャラキャッチスクロール
私のようなものを考えていた:
Future { throw Exception } zip Future { throw Exception } recover ...
しかし、私は唯一の回復部分でのThrowableを受けます。何か案が?
未来のリストを与えられたすべてのエラーを非同期的にキャッチすることは可能ですか?一連の先物によるスキャラキャッチスクロール
私のようなものを考えていた:
Future { throw Exception } zip Future { throw Exception } recover ...
しかし、私は唯一の回復部分でのThrowableを受けます。何か案が?
zip
のdocsは明らかに(私の強調)、それはthat
からのものよりthis
からエラーを好むと言う:
def zip[U](that: Future[U]): Future[(T, U)]
ジッパーthis
とthat
将来の値のタプルを保持する新しい未来を作成します彼らの 結果。将来的に
this
に失敗した場合、 スローテーブルがthis
に格納されていると、結果として失敗します。 もしそうでなければ、将来that
が失敗すると、 は将来発生し、that
に格納されたスローされた値で失敗します。
あなたは次のように、Future[(Try[T], Try[U])]
に2つの先物を組み合わせて、独自の機能を実装することができます:あなたが回復追加でき
(私はこれをテストしていませんが、あなたのアイデアを得る)
両者を圧縮する前に「未来」の両方に? –
私は簡単な例を示しています。それは私が実際に行ったことですが、問題は、失敗したすべての先物が投げた例外を結合したいということです。 – vicaba