RxJS ipucu [filtre, takeWhile]

Jan 06 2023
Bu ipucu, RxJS kitaplığından filtre ve takeWhile işleçleri arasındaki farkı kapsar. Resmi belgelere göre: filtre Gözlemlenebilir kaynak tarafından yayılan öğeleri, yalnızca belirli bir yüklemi karşılayanları yayarak filtreleyin.

Bu ipucu, filtre ve RxJS kitaplığından almaWhile işleçleri arasındaki farkı kapsar .

Resmi belgelere göre:

filtre

Observable kaynağı tarafından yayılan öğeleri, yalnızca belirli bir yüklemi karşılayanları yayarak filtreleyin.

sürerken

Her değer verilen yüklemi karşıladığı sürece Observable kaynağı tarafından yayılan değerleri yayar ve ardından bu yüklem karşılanmadığı anda tamamlanır.

Bu nedenle, operatörlerin her ikisi de , kaynak akış tarafından yayılan her değer için çağrılan ilk bağımsız değişken olarak bir yüklem işlevi alır.

Bununla birlikte, filtre işleci tarafından döndürülen Gözlemlenebilir, kaynak akıştan asla çıkmayacaktır. Bir yüklem işlevi karşılanmadığında , filtre işlecinin Observable kaynağından dolaylı olarak çıkmak için kullanılamayacağını belirtmekte fayda var :

Öte yandan, TakeWhile işleci tarafından döndürülen akış, Gözlemlenebilir kaynağın aboneliğini iptal edecek ve bir yüklem işlevi yanlış değer döndürdüğünde tam bildirimi yayınlayacaktır. Sonuç olarak, TakeWhile işleci, belirli bir koşula dayalı olarak kaynak akış aboneliğini dolaylı olarak iptal etmek için kullanılabilir :

Observable kaynağının tam bildirimi yaymadığını belirtmekte fayda var, ancak sonlandırma operatörüne iletilen geri arama işlevi, ister tamamlama ister abonelik iptali olsun, akışın sonlandırılması üzerine çağrılır. Ek olarak, kaynak akış tarafından yayılan son değerin Gözlemlenebilir çıktıya (varsayılan olarak yanlış olan, takeWhile operatörünün ikinci argümanı) aktarılıp aktarılmayacağını kontrol edebilirsiniz.

Canlı örnek:

İpucunu beğendiyseniz, lütfen beni biraz alkışlayın