java - 如何使 Single 流变平
问题描述
我有这个代码
public Stream<PaymentEntity> getPayments(List<String> paymentIds) {
return paymentIds.stream()
.flatMap(id -> paymentsRepository.getById(id))
}
paymentsRepository.getById(id)
正在返回Single<PaymentEntity>
但是我得到了编译时错误
不存在类型变量 R 的实例,因此 Single 符合 Stream
编辑,任何询问Single
http://reactivex.io/documentation/single.html的人
解决方案
您可以使用
return paymentIds.stream()
.map(id -> paymentsRepository.getById(id).toBlocking().value());
或者rxjava 2
你可以使用:
return paymentIds.stream()
.map(id -> paymentsRepository.getById(id).blockingGet());
发表评论后,我认为您可以使用此解决方案:
List<PaymentEntity> result = new ArrayList<>();
paymentIds.forEach(id -> paymentsRepository.getById(id).toObservable().subscribe(result::add));
return result.stream();
推荐阅读
- java - writeObject(this) 停止程序
- windows - 如何正确使用 interlockedcompareexchange?
- laravel - Laravel 队列作业不加载文件
- ios - 如何在Swift中从一个点到下一个点画一条线
- xamarin - Azure DevOps Pipeline VsTest:错误消息:System.IO.FileNotFoundException:无法加载文件或程序集“Mono.Android”
- python - 如何在索引字典时修复请求超时
- react-native - 存在“dispatch”关键字时未调用函数
- python - 上下文不会被新值覆盖
- javascript - 我必须使用 javascript 正则表达式编写一个函数来从变量中获取特定的输出字符串
- ios - SiriKit iOS13 - Siri 对话框未出现