简体   繁体   English

对我从rxJava改造2获得的响应中的过滤操作

[英]Filtering operation on a response I get from retrofit 2 with rxJava

If I'm using retrofit with a rxjava converter to get the response, how and where can I filter the results (into say a List<> of users for example whos property boolean paidDues = true )? 如果我正在使用带有rxjava转换器的改造来获取响应,我该如何以及在哪里过滤结果(比如说用户的List <>,例如whos属性boolean paidDues = true )?

Observable<User> observable = userService.me();
observable.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<User>() {
    @Override
    public void onCompleted() { // handle completed }

    @Override
    public void onError(Throwable e) { // handle error }

    @Override
    public void onNext(User user) { // handle response }
});

Use a Filter: 使用过滤器:

Observable<User> observable = userService.me();
observable.observeOn(AndroidSchedulers.mainThread())
.filter(new Predicate<User >() {
        @Override
        public boolean test(@NonNull final User user) throws Exception {
            return user.hasPaidDues(); // or something like this
        }
    })
.subscribe(...);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM