آموزش اپراتور یا عملگر Just در RxJava
آموزش اپراتور یا عملگر Just در RxJava
2019-12-16
آموزش عملگر ها یا اپراتور های Range و Repeat در RxJava
آموزش عملگر ها یا اپراتور های Range و Repeat در RxJava
2019-12-22
آموزش اپراتور یا عملگر From در RxJava

آموزش اپراتور یا عملگر From در RxJava

آموزش اپراتور یا عملگر From در RxJava ، در این پست ما عملگر From را مورد بررسی قرار می دهیم.

آموزش اپراتور یا عملگر From در RxJava
آموزش اپراتور یا عملگر From در RxJava

برخلاف اپراتور Just() ، اپراتور From در RxJava درواقع Observable را از روی یک مجموعه آیتم ایجاد میکند که بصورت Iterable هستند بدین معنی که هر آیتم در یک زمان emit یا منتشر میشوند.

نکته:
نکته قابل توجه درباره اپراتور یا عملگر From این است که از RxJava2 ما دیگر از From استفاده نمیکنیم بلکه از اپراتور های fromCallable() ، fromFuture() ، fromIterable() و fromPublisher() استفاده میکنیم.

به مثال زیر توجه کنید:

 Integer[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
Observable.fromArray(numbers)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new Observer() {
                     @Override
                     public void onSubscribe(Disposable d) {
                }

                @Override
                public void onNext(Integer integer) {
                    Log.d(TAG, "onNext: " + integer);
                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onComplete() {

                }
            });

خروجی

onNext: 1
onNext: 2
.
.
onNext: 11
onNext: 12

تفاوت بین اپراتوریا عملگر Just() و عملگر From در RxJava تنها در تعداد دفعات انتشار emit آنهاست و درحالت دیگر هردو یک عمل مشابه انجام میدهند.

اپراتور Just() تنها یک انتشار انجام میدهد. برای مثال just(new Integer[]{1,2,3}) تنها یک انتشار در onNext(Integer[] integers) انجام میدهد، اما اپراتور fromArray() به تعداد n بار انتشار emit انجام میدهد. برای مثال fromArray(new Integer[]{1, 2, 3}) سه انتشار در onNext(Integer integer) انجام میشود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *