广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州OkHttps并行预处理器是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-06-14分类:Java技术浏览:722


导读:OkHttps并行预处理器是什么?相信这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

OkHttps并行预处理器是什么?相信这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

  预处理器(Preprocessor)可以让我们在请求发出之前对请求本身做一些改变,但与OkHttp的拦截器(Interceptor)不同:预处理器可以让我们 异步 处理这些问题。


  例如,当我们想为请求任务自动添加Token头信息,而Token只能通过异步方法requestToken获取时,这时使用Interceptor就很难处理了,但可以使用预处理器轻松解决:

  1. HTTP http = HTTP.builder()

  2.         .addPreprocessor((PreChain chain) -> {

  3.             HttpTask<?> task = chain.getTask();// 获得当前的HTTP任务

  4.             if (!task.isTagged("Auth")) {      // 根据标签判断该任务是否需要Token

  5.                 chain.proceed();

  6.                 return;

  7.             }

  8.             requestToken((String token) -> {   // 异步获取 Token

  9.                 task.addHeader("Token", token);// 为任务添加头信息

  10.                 chain.proceed();               // 继续当前的任务

  11.             });

  12.         })

  13.         .build();

  和Interceptor一样,Preprocessor也可以添加多个。他们之间的区别如下:


拦截器只能处理同步操作,预处理器支持处理异步操作

拦截器都是并行处理请求,预处理器支持串行处理(详见6.5章节)

拦截器处理时机在请求前和响应后,预处理器只在请求前,并且先于拦截器执行。关于响应后,OkHttps还提供了全局回调监听(详见6.6章节)

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

java5.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表