Mykola Tychyna
Mykola Tychyna

Reputation: 171

rxjava timer subscribe NOT long type

RXJava timer returns subscription, where Action1 use Long type. I need another to pass inside Action1 object of another type.

Observable<Long> observable = Observable.timer(7, TimeUnit.SECONDS, Schedulers.computation());
cancelOrderSubscription = observable
    .subscribeOn(Schedulers.computation())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Action1<Long>() {
        @Override
        public void call(Long aLong) {
            // NOT LONG REQUIRED
        }
    });

Upvotes: 1

Views: 119

Answers (1)

Mykola Tychyna
Mykola Tychyna

Reputation: 171

Based on akarnokd comment.

Observable.timer(5, TimeUnit.SECONDS)
        .observeOn(AndroidSchedulers.mainThread())
        .map(new Func1<Long, MyOrderStorageItem>() {
            @Override
            public MyOrderStorageItem call(Long aLong) {
                return myOrderStorageItem;
            }
        })
        .subscribe(new Action1<MyOrderStorageItem>() {
            @Override
            public void call(MyOrderStorageItem myOrderStorageItem) {
                // use object myOrderStorageItem
            }
        });

Upvotes: 1

Related Questions