fromIterable 操作符逐次发射list的中的数据
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
public class Test {
private void test() {
List<FaceEntity> faceEntityList = new ArrayList<>();
Observable.fromIterable(faceEntityList).doOnNext(faceEntity -> {
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<FaceEntity>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(FaceEntity faceEntity) {
Log.e("huang", "=====================" + faceEntity.getImagePath() + "," + faceEntity.isRegister());
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
Log.e("huang", "完成");
}
});
//或者普通写法
Observable observable1 = Observable.create(new ObservableOnSubscribe<FaceEntity>() {
@Override
public void subscribe(@io.reactivex.annotations.NonNull ObservableEmitter<FaceEntity> emitter) throws Exception {
for (FaceEntity faceEntity : faceEntityList) {
emitter.onNext(faceEntity);
}
emitter.onComplete();
}
});
observable1.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<FaceEntity>() {
@Override
public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) {
}
@Override
public void onNext(@io.reactivex.annotations.NonNull FaceEntity faceEntity) {
Log.e("huang", "=====================" + faceEntity.getImagePath() + "," + faceEntity.isRegister());
}
@Override
public void onError(@io.reactivex.annotations.NonNull Throwable e) {
}
@Override
public void onComplete() {
Log.e("huang", "onComplete");
}
});
}
}