Java 我可以用拦截进行同步请求吗?
想象我在一个已经有后台线程的服务中。我可以在同一线程中使用Volley发出请求,以便回调同步发生吗?
这样做有两个原因:-首先,我不需要另一个线程,创建它会很浪费。-其次,如果我处于ServiceIntent中,则线程的执行将在回调之前完成,因此,我不会收到Volley的响应。我知道我可以创建自己的Service,该Service具有可以控制的Runloop线程,但是最好在volley中具有此功能。
谢谢!
回答:
看起来Volley的RequestFuture
课程是可能的。例如,要创建同步JSON HTTP GET请求,您可以执行以下操作:
RequestFuture<JSONObject> future = RequestFuture.newFuture();JsonObjectRequest request = new JsonObjectRequest(URL, new JSONObject(), future, future);
requestQueue.add(request);
try {
JSONObject response = future.get(); // this will block
} catch (InterruptedException e) {
// exception handling
} catch (ExecutionException e) {
// exception handling
}
以上是 Java 我可以用拦截进行同步请求吗? 的全部内容, 来源链接: utcz.com/qa/403825.html