运算符 – RxJava返回函数中的已订阅值
发布时间:2020-12-14 05:52:31 所属栏目:Java 来源:网络整理
导读:出于某种原因,我有时想使用RxOperators而不是普通的 java方式转换数据结构,因为它更干净,更清洁.例如: Observable.from(listOfStrings).filter(string - string.getNumber() 5).toList() 有没有办法等待observable的结果并在函数中返回:这样做(但它不起作
出于某种原因,我有时想使用RxOperators而不是普通的
java方式转换数据结构,因为它更干净,更清洁.例如:
Observable.from(listOfStrings) .filter(string -> string.getNumber() >5) .toList() 有没有办法等待observable的结果并在函数中返回:这样做(但它不起作用): private String getFilteredString(String string){ Observable.from(listOfStrings) .filter(string -> string.getNumber() >5) .toList() .subscribe(finalStirng -> { return finalString; }) } 解决方法
您可以使用.toBlocking()将任何Observable转换为同步Observable:
private List<String> getFilteredString(List<String> strings) { return Observable.from(strings) .filter(string -> string.length() > 5) .toList() .toBlocking() .single(); } 更新: > Java 8有一个 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |