lambda表达式中前一个运算符的对象中的调用方法
我有一段代码lambda表达式中前一个运算符的对象中的调用方法,lambda,java-8,stream,rx-java,Lambda,Java 8,Stream,Rx Java,我有一段代码 client.confirmPayment(identity, entity.getId()) .map(response -> response.id) .flatMap(itemId -> signingService.orderSigning(itemId, identity)) .doOnSuccess(signatureOrder->signatureOrde
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;
}
有没有办法从
doOnSuccess
操作符调用response.url
?它将是这样的:
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))
);
Single responseSingle=client.confirmPayment(identity,entity.getId())
.flatMap(响应->单个.just(响应)
.flatMap(r->signingService.orderSigning(r.id,标识))
.doOnSuccess(order->order.setRedirectUrl(response.url))
);
仅仅是一个构建在基础上的想法-将它映射成简单的Id、响应的。。。当前使用id,稍后使用响应。