Single的Vert-x RxJava Map实现与HttpResponse::body参数不匹配



嗨,我目前正在研究vertx rxjava,我发现我可以理解为什么下面的接口可以用HttpResponse.body.实现

这是地图界面的用法

Single<JsonObject> s1 = request1.rxSend().map(HttpResponse::body);

如果我们看到单一是的地图实现

public final <R> Single<R> map(Func1<? super T, ? extends R> func)

哪个Func1是一个功能接口,详细信息在下面

public interface Func1<T, R> extends Function {
R call(T t);
}

该接口允许一个方法接受1个输入参数,并返回一个值类型R。而HttpResponse.Body的实现细节在下面

public T body() { 
if (cached_6 != null) {
return cached_6;
}
T ret = (T)__typeArg_0.wrap(delegate.body());
cached_6 = ret;
return ret;
}

正如我们所看到的,实现不接受任何参数并返回一个值。为什么它与地图界面兼容?请开导我。谢谢

永不终止。当我试图将方法引用更改为lambda时,我清楚地说明了原因。rxSend输出为Single。因此,映射将迭代/执行其中的HttpResponse对象。愚蠢的问题,继续!

最新更新