OkHttp 通常是异步的。常规调用如下所示:
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
} else {
// do something wih the result
}
}
}
Run Code Online (Sandbox Code Playgroud)
当消息到达时,只需对其执行一些操作即可。但我想用它作为阻塞吸气剂。就像是:
public void exampleMethod() {
MyDTO myDto = makeOkHttpCall.getData();
// do something with myDto Entity
}
Run Code Online (Sandbox Code Playgroud)
但我能找到的只是我可以将代码添加到onResponse(). 但这仍然是异步的。有什么想法如何改变这一点吗?