lambda - 调用 lambda 表达式中前一个运算符的对象中的方法
问题描述
我有一段代码
client.confirmPayment(identity, entity.getId())
.map(response -> response.id)
.flatMap(itemId -> signingService.orderSigning(itemId, identity))
.doOnSuccess(signatureOrder->signatureOrder.setRedirectUrl("XXXX"));
该client.confirmPayment
方法返回类型的流Response
class Response{
private String id;
private String url;
}
有没有办法response.url
从doOnSuccess
运营商那里打电话?
解决方案
它会是这样的:
Single<Response> responseSingle = client.confirmPayment(identity, entity.getId())
.flatMap(response -> Single.just(response)
.flatMap(r -> signingService.orderSigning(r.id, identity))
.doOnSuccess(order -> order.setRedirectUrl(response.url))
);
推荐阅读
- php - 通过soapclient向需要CDATA的服务发送SOAP请求的问题
- java - Quarkus Keycloak 管理员客户端
- ruby-on-rails - 在节目中找不到 'id'=number 的用户
- javascript - Puppeteer 不会保存无头 Ubuntu 的截图
- python - 带有猴子补丁实例方法的 Python 复制对象
- python-3.x - 获取 ValueError:索引包含重复的条目,无法重塑
- jupyter-notebook - 如何在google colab中显示文件夹中的图像
- json - 如何根据 json 模式中根对象的值验证对象?
- excel - 检查范围内的值并在列表框中选择这些值
- android - 通知自定义布局不适用于 Android 11