آموزش عملگر ها یا اپراتور های Take و TakeLast در RxJava ، در ادامه آموزش های عملگرهای RxJava در این پست به بررسی 2 عملگر دیگر یعنی Take و TakeLast می پردازیم.
اپراتور 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 یا 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
همچنین بخوانید:
آموزش عملگر ها یا اپراتور های Skip و SkipLast در RxJava
آموزش اپراتور یا عملگر Filter در RxJava
آموزش عملگر ها یا اپراتور های Distinct ، Reduce و Count در RxJava
آموزش اپراتور ها یا عملگر های Min ، Max ، Sum و Average در RxJava
آموزش اپراتور یا عملگر Debounce در RxJava
امیدوارم این آموزش برای شما مفید بوده باشد…