2017-09-27 11 views
0

angular4のtypescriptですが、5angular4は、観察可能rxjsリターンが

をrxjsに私は渡された複合型を持って合格した後、元の異なるタイプの削減方法を削減するが、私は違うブールように型を返したいです。

儀式は今、次のコードで、私は戻り値の型エラーがmyListArray<{ flag: bool }>であり、あなたはすべてのフラグが真であるかどうかを確認したい、あなたはおそらくしたいことを推測

Observable.from(myList).reduce((complex1, complex2) => { 
return complex1.flag && complex2.flag; // gives me error 
}) 
+0

fromはmap関数を取りますが、これはobservableのサブスクライブ側で行われることがありますか?それ以外の場合は、それを観測可能にする前に減らすことができます。 – rjustin

+0

または、おそらくreduceはあなたが望むものではなく、むしろ.map()ですか? – rjustin

+0

シードを指定していないので、アキュムレータは最初の要素で初期化されます。これはその型が要素型になることを意味します。しかし、要素ではなく、ブール式の結果を返しています。 – cartant

答えて

1

と一致していない取得しています:

Observable.from(myList) 
      .reduce((accumulated, complex) => accumulated && complex.flag, true); 

還元関数は、ストリームをスカラー値に減らすために、以前の反復値(または第2引数、最初は)をObservableの新しく生成された値と組み合わせる必要があります。このようにして、還元関数の戻り値の型は最終値としての第1引数型となります。

関連する問題