私はリアクティブプログラミングとオブザーバブルの周りに頭を上げようとしていますが、もちろん失敗しました。RxJSは配列としてログを減らしますが、オブジェクトとしてエラーを返します。
this.searchSubscription = this.filtersSubject
.takeLast(2)
.reduce((acc, cur) => {
console.log(acc);
acc.push(cur);
return acc;
}, [])
.debounceTime(1000)
.subscribe(x => this.emitFilters());
私はtakeLast(2)
は、私は2つの値の配列にそれを回すことができ、かつフィルタが異なっていた二つの間の特定の値であるreduce
にパイプを使用したい:私は、次のコードを持っています。私はreduce
のドキュメントを見てきましたが、シードを渡しても、VSコードはProperty 'push' does not exist on type 'Object'.
ですが、console.log
はacc
が配列であることを示しています。私は何が起こっているのか、それをどうやって解決するのか、困惑しています。そして、もちろん、私はこの問題に完全に間違っているかもしれません。それは、観察可能なものを理解するのを十分に難しくしています。
フィードバックに感謝します。私はリアクションのプログラミングの周りに頭を包んで十分な問題を抱えている、これは私がそれを間違っていると思うようになる...私はおそらくまだある。私はこれを回避することができますか、または平均して何か他のことをしなければならないかどうか知っていますか? – RhoVisions
また、バグを避けることができ、['toArray'演算子](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-toArray)を使用してコードを単純化することができます)、代わりに。 (そして、観測可能なものが完成すると、 'debounceTime'は冗長であり、ただ一つの値(配列)しか見ないため、遅れとして機能します) – cartant
ソースの編集に頼るのではなく、かなり複雑です。これは非常に深刻なバグです。私はそれが以前に報告されていないことに驚いています。おそらくそれがあります。 –