RxJava2操作符Zip

多个发送者发送多个数据,通过zip将所有数据按照顺序组合,接收者接收组合后的数据

Observable sender1 = Observable.create(new ObservableOnSubscribe() {
        @Override
        public void subscribe(@NonNull ObservableEmitter e) throws Exception {

            e.onNext("Hello");

        }
    });

    Observable sender2 = Observable.create(new ObservableOnSubscribe() {
        @Override
        public void subscribe(@NonNull ObservableEmitter e) throws Exception {

            e.onNext("World");

        }
    });

    Observable sender = Observable.zip(sender1, sender2, new BiFunction() {     //将两个事件的数据组合

        @Override
        public Object apply(@NonNull String s, @NonNull String s2) throws Exception {

            return s + s2;
        }
    });


    Consumer receiver = new Consumer() {
        @Override
        public void accept(@NonNull String s) throws Exception {

            Log.i("zzz","s >>> " + s);

            //HelloWorld
        }
    };

    sender.subscribe(receiver);

你可能感兴趣的:(RxJava2操作符Zip)