当前位置: 首页 > 面试题库 >

Java 我可以用拦截进行同步请求吗?

施茂
2023-03-14
问题内容

想象我在一个已经有后台线程的服务中。我可以在同一线程中使用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
}


 类似资料:
  • 一、拦截请求 mitmproxy的强大功能是拦截请求。拦截的请求将暂停,以便用户可以在将请求发送到服务器之前修改(或丢弃)该请求。mitmproxy的set intercept命令配置拦截。i默认情况下,该命令绑定到快捷方式。 通常不希望拦截所有请求,因为它会不断中断您的浏览。因此,mitmproxy希望将流过滤器表达式作为set intercept选择性拦截请求的第一个参数。在下面的教程中,我们

  • 配置拦截器 declarations: [ AppComponent ], HttpClientModule ], providers: [ [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true } ] bootstrap:

  • 在 imi 中更加推荐使用 AOP 来拦截请求。 不要忘记把 Aspect 类加入 beanScan! Demo <?php namespace ImiApp\ApiServer\Aop; use Imi\RequestContext; use Imi\Aop\Annotation\Around; use Imi\Aop\Annotation\Aspect; use Imi\Aop\Annota

  • 问题内容: 我有一个PHP脚本,需要从远程服务器下载多个文件。目前,我只有一个循环使用cURL下载和处理文件,这意味着它直到下一个文件完成后才开始下载一个文件- 这大大增加了脚本的运行时间。 是否可以启动多个cURL实例,例如,同时异步下载这些文件而无需等待上一个实例完成?如果是这样,将如何实现? 问题答案: 是。 有一个multirequest PHP库 (或参见:已归档的Google Code

  • Spring的处理器映射机制包含了处理器拦截器。拦截器在你需要为特定类型的请求应用一些功能时可能很有用,比如,检查用户身份等。 处理器映射处理过程配置的拦截器,必须实现 org.springframework.web.servlet包下的 HandlerInterceptor接口。这个接口定义了三个方法: preHandle(..),它在处理器实际执行 之前 会被执行; postHandle(..

  • 现在,当我到达spring-boot应用程序的endpoint时,它工作得很好 基本上,它根本不调用preandle。我错过了什么????