آموزش رسم نمودار با کتابخانه Highcharts در لاراول
رسم نمودار در لاراول با کتابخانه Highcharts
2020-01-26
چگونه لاگ کردن در OkHttp را فعال کنیم؟
چگونه لاگ کردن در OkHttp را فعال کنیم؟
2020-01-27
آموزش عملگر ها یا اپراتور های Take و TakeLast در RxJava

آموزش عملگر ها یا اپراتور های Take و TakeLast در RxJava

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

آموزش عملگر ها یا اپراتور های Take و TakeLast در RxJava

اپراتور Take در RxJava

اپراتور Take در RxJava

اپراتور Take دقیقا برخلاف اپراتور skip عمل میکند بدین صورت که n تعداد آیتم را از ابتدای سری آیتم ها منتشر و بقیه را صرف نظر میکند.

در مثال زیر ما در بازه اعداد ۱ تا ۱۰ تنها ۴ آیتم اول را take کردیم (بدین معنی که تنها قصد انتشار 4 آیتم اول را داریم )

Observable
        .range(1, 10)
        .take(4)
        .subscribe(new Observer() {
            @Override
            public void onSubscribe(Disposable d) {
                Log.d(TAG, "Subscribed");
            }  
     @Override
       public void onNext(Integer integer) {
           Log.d(TAG, "onNext: " + integer);
       }

       @Override
       public void onError(Throwable e) {

       }

       @Override
       public void onComplete() {
           Log.d(TAG, "Completed");
       }
   });

خروجی

Subscribed
onNext: 1
onNext: 2
onNext: 3
onNext: 4
Completed

اپراتور TakeLast در RxJava

اپراتور TakeLast در RxJava

اپراتور takeLast یا takeLast(n) مشابه اپراتور take برای انتشار تنها تعدادی از آیتم هاست منتها از آخر سری داده ها.
در مثال زیر نیز ما تنها قصد انتشار ۴ آیتم انتهایی سری داده ها را داریم:

 Observable
        .range(1, 10)
        .takeLast(4)
        .subscribe(new Observer() {
            @Override
            public void onSubscribe(Disposable d) {
                Log.d(TAG, "Subscribed");
            }
       @Override
       public void onNext(Integer integer) {
           Log.d(TAG, "onNext: " + integer);
       }

       @Override
       public void onError(Throwable e) {

       }

       @Override
       public void onComplete() {
           Log.d(TAG, "Completed");
       }
   });

خروجی

Subscribed
onNext: 7
onNext: 8
onNext: 9
onNext: 10
Completed

امیدوارم این آموزش برای شما مفید بوده باشد…

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

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