codecamp

easy-okhttp 异步请求

异步请求不会阻塞当前线程(特别是网络慢的时候),适用于对返回结果不关心或不需要立即知晓的情况下,比如推送、通知等。

异步请求只有在执行网络请求的时候有一点区别,其他地方和同步请求配置和操作都是一样的。

String githubContent = HttpClient
            .get("https://www.github.com")
            .execute(new CallbackAdaptor<String>(){

                @Override
                public DataHandler<T> getDataHandler() {
                    return StringDataHandler.create();
                }

                @Override
                public void onSuccess(T data) {
                    //data就是经过处理后的数据,直接在这里写自己的业务逻辑
                }
            });
CallbackAdaptor是Callback的默认实现,一般推荐使用CallbackAdaptor,这样你只需要关注的方法。下面着重介绍Callback接口定义。


Callback回调接口


Callback是回调定义接口,里面总共定义了6个函数,每个函数被调用的顺序不一样。

  • onBefore() 第一被调用,主要在请求网络之前,这个函数有返回值,如果返回false则阻止此次请求了;
  • postProgress() 第二被调用,上传进度回调函数
  • onError() 第三被调用,当只有请求失败时才会触发;
  • onComplete() 第四被调用,当请求接口完成后触发该函数;
  • onSuccess() 第五被调用,当请求接口成功(HTTP状态码为200)则会触发该函数, 该函数会依赖另外一个函数getDataHandler(),返回一个指定的数据处理器,处理原始数据。对于数据处理器前面已经了解过了。

异步回调接口Callback总共定义了6个函数,但是一般不会关心所有函数处理情况,所以提供了CallbackAdaptor空实现类,想要关注哪个函数的执行结果,重载那个函数即可。


Callback回调接口

easy-okhttp 高级配置简介
easy-okhttp 框架默认配置修改(修改配置文件法)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

easy-okhttp 总结

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }