irlogcat / Android-FAQ

Android - Frequently Asked Question
48 stars 3 forks source link

‫تفاوت map – flatMap – concat map رو شرح دهید ؟ #229

Open FatemehKavoosi opened 4 years ago

MohsenNooriArdestani commented 2 years ago

عملگرهای RxJava Operators) RxJava) در این بخش مقاله‌ی آموزش کامل RxJava در اندروید ، عملگرهای RxJava Operators) RxJava) را برای شما شرح می‌دهیم.

Map Buffer Debounce ThrottleFirst FlatMap ConcatMap SwitchMap

Map یک تابع را برای هر مورد منتشر شده اعمال می‌کند. با استفاده از تابعی از آن، هر مورد منتشر شده را تغییر می‌دهد.

(نظم ارسال حفظ می‌شود)

FlatMap موارد منتشر شده توسط یک Observable را به Observables تبدیل می‌کند، و سپس انتشار از آن را به یک Observable Single قسمت می‌کند. اگر با LiveData آشنا باشید، MediatorLiveData می‌تواند کاری بسیار مشابه انجام دهد. در مورد ()FlatMap در ادامه بیشتر صحبت می‌کنیم. (نظم ارسال حفظ نمی‌شود)

ConcatMap موارد منتشر شده توسط یک Observable را به Observables تبدیل می‌کند. این در اصل همان مورد ()FlatMap است، اما نظم ارسال حفظ می‌شود. اما از آنجا که ()ConcatMap باید منتظر بماند تا هر یک از Observable کار خود را انجام دهند پس از نظر فنی آن غیر همزمان نیست. (نظم ارسال حفظ می‌شود)

مرجع کامل: https://7learn.com/blog/android-rxjava-tutorial