OPV:
なぜ我々は1の代わりに、以下のコードでは2つのフィルタを使用していますか?
fromEvent<MouseEvent>(this.mapElement, "click")
.pipe(
filter(e => !this.props.disableEvents),
filter(_ => !this.mouseState.moved && mouseDownInMap)
)
.subscribe(e => {});
何故なの:
fromEvent<MouseEvent>(this.mapElement, "click")
.pipe(filter( e => !this.props.disableEvents && !this.mouseState.moved && mouseDownInMap))
.subscribe(e => {});
また、なぜ我々は必要.pipe()
、それはあまりにもパイプなしで動作するかどうか?
Dai :
あなたはできる単一にそれらを組み合わせますfilter
。
水平スクロールを避けるために - しかし、コードの保守のために、それは彼らが概念的に無関係だ場合は特に、二つの別々のフィルタ機能を読み取るために、多くの場合簡単です。
もう一つの理由は、フィルタ機能自体はあなたが別の使用する必要があります。その場合には他の場所で定義することができるということですfilter
。とにかく電話を
たとえば、
function whenEventsAreEnabled( e ) {
return !this.props.disableEvents;
}
function whenMouseIsInMap( e ) {
!this.mouseState.moved && mouseDownInMap
}
fromEvent<MouseEvent>(this.mapElement, "click")
.pipe(
filter( whenEventsAreEnabled ),
filter( whenMouseIsInMap )
)
.subscribe(e => {});
また、なぜ我々は必要な
.pipe()
ことはせずに動作するかどうかpipe
、あまりにも?
あなたは行う必要があるとpipe
。あなただけの取得、離れてすることができます使用することなく、pipe
あなたがRxJSを使用している場合は、下位互換モード。現代RxJSは常に必要とpipe()
値/オブジェクト放出され、観察者のためのパイプラインを作成します。