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

回到顶部