不要在java中踢太多新手。我需要实现以下功能: 我有 myOkHttpClient 类;它处理来自服务器的 onResponse () 事件响应。我需要在收到响应后将此响应发送回调用站点。那些。像这样的东西:
myOkHttpClient myClient = new myOkHttpClient(MainActivity.this, SERVER_URL);
myClient.getResponse((response) -> {
// сделать что-то с response
});
public class myOkHttpClient {
// много кода
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
// тут вернуть response назад в место вызова
}
}
相信在 JS 中可以通过回调实现的方式在这里并不适用。请指出正确的方向,谢谢。
回调方法适用。例如,您可以将其传递给构造函数
myOkHttpClient并将其存储在一个字段中:然后调用方法
onResponse:还有其他方法可以走,特别是如果您想在与调用 onResponse 的线程不同的线程上执行 responseHandler 。为此,客户端必须具有发送请求的方法(sendRequest),
Call或者Response必须能够存储所发出请求的上下文如果一切都是这样,那么您可以在 sendRequest 中生成一个请求 id (requestId),将其作为方法调用的结果,并将响应添加到 onResponse 中
HashMap<Integer, Response> requestIdToResponse。在外部代码中,有必要定期轮询客户端是否出现给定 requestId 的 response-a