Egret网络请求之超时或异常的处理

 /**
         * 发送网络请求
         * @param reqUrl http://www.aaa.com
         * @param postData uid=0&name="ch"&money=999
         * @param callback 回调函数
         * var loader:egret.URLLoader = <egret.URLLoader> event.target;
         * var data:egret.URLVariables = loader.data;
         * var js = eval("(" + data.toString() + ")");
         * @param timeOut 超时函数
         * @param thisObj
         */
        public static doRequest(reqUrl:string, postData:string, callback:Function, timeOut:Function, thisObj:any) {
            var loader:egret.URLLoader = new egret.URLLoader();
            loader.dataFormat = egret.URLLoaderDataFormat.TEXT;
            loader.addEventListener(egret.Event.COMPLETE, callback, thisObj);
            if (timeOut) {
                loader.addEventListener(egret.IOErrorEvent.IO_ERROR, timeOut, thisObj);
            }

            var request:egret.URLRequest = new egret.URLRequest(reqUrl);
            request.method = egret.URLRequestMethod.POST;
            request.data = new egret.URLVariables(postData);
            loader.load(request);
        }

上面是将请求操作封装成一个方法,方便调用。

这里面我们注册了

egret.IOErrorEvent.IO_ERROR

事件,这个事件会在请求超时,出错,异常时分发出来。

时间: 2024-10-13 22:32:46

Egret网络请求之超时或异常的处理的相关文章

设置AFNetworking网络请求的超时时间

也许大家使用的时候已经察觉到,设置AFNetworking的超时时间并不管用,但可以用特殊的方式来处理. 以下是笔者基于AFNetworking2.5.0封装的GET,POST请求用方法. POST请求 + (AFHTTPRequestOperation *)GETMethod:(NSString *)URLString parameters:(id)parameters success:(void (^)(AFHTTPRequestOperation *operation, id respon

React Native 网络请求封装:使用Promise封装fetch请求

React Native中虽然也内置了XMLHttpRequest 网络请求API(也就是俗称的ajax),但XMLHttpRequest 是一个设计粗糙的 API,不符合职责分离的原则,配置和调用方式非常混乱,而且基于事件的异步模型写起来也没有现代的 Promise 友好.而Fetch 的出现就是为了解决 XHR 的问题,所以ReactNative官方推荐使用Fetch API.http://blog.csdn.net/withings/article/details/71331726 fet

XDroidRequest网络请求框架,新开源

XDroidRequest 是一款网络请求框架,它的功能也许会适合你.这是本项目的第三版了,前两版由于扩展性问题一直不满意,思考来 思考去还是觉得Google的Volley的扩展性最强,于是借鉴了Volley的责任链模式,所以有了这个第三版. Provide 1 适配 Android 6.0 ,不再使用HttpClient相关API 2 一行代码发送请求,提供多种回调函数供选择, 3 支持8种网络请求方式 GET,POST,PUT,DELETE,HEAD,OPTIONS,TRACE,PATCH

转-封装网络请求库,统一处理通用异常 (基于volley网络请求库)

http://blog.csdn.net/kroclin/article/details/40540761 一.前言 volley的发布让网络请求也变得十分便利,但是我们通常懒得很想用一两句代码实现一个网络请求,其实你再经过封装就可以做到的.还有就是实际开发当中,我们会常常遇到很多异常情况,如网络异常.超时异常等等,那么我们如果有10个activity需要请求数据,那么在10个activity当中都去处理这些异常就变得十分麻烦,通过合理的设计其实我们能够在一个地方对异常情况进行统一处理,只有正确

[Swift 工作tips] 之 使用Alamofire做网络请求时设置请求超时(timeout)时间

在应用开发过程中,经常需要网络请求,在网络请求的过程中,一般的第三方网络框架的超时时间比较长为15秒: 那么,我们如何来指定请求的超时时间呢? 在Swift的世界里,比较有名的网络是Alamofire   GitHut地址:https://github.com/Alamofire/Alamofire 那么,在使用Alamofire 的时候,设置Alamofire的请求时间如下: 本例代码如下: 1 var alamofireManager : Manager? 2 // 设置请求的超时时间 3

android 设置网络请求超时

UI界面更新必须在ui线程中 不能在ruanable线程中操作ui 可以发送消息利用handler来更新ui    private void load() {        LoadDate load = new LoadDate();        load.execute("http://h.hiphotos.baidu.com/image/w%3D310/sign=1bc9c0da38292df597c3aa148c305ce2/c83d70cf3bc79f3d77fbe1c5b8a1cd

用Fundebug插件记录网络请求异常

在服务端,不管我们使用Node.js.Java.PHP还是Python等等,都会用日志以文本的形式记录请求以及报错信息.这个对于后端做事后分析是很有用的. 另一方面,前端有时候出问题其实是因为后端接口报错,返回数据异常导致.而实际上,前端才是用户直接触及的端,所以出了问题,首先是在前端体现出来,首先也是找前端. 为了更好地定位问题是前端代码还是接口问题,在这里推荐使用Fundebug的前端JavaScript监控插件.该插件从0.1.0之后,就开始支持HTTP请求错误的监控. 例子 为了测试,我

Java网络请求getInputStream异常

今天调试网络请求部分时,当getInputStream失败时直接抛出异常.解决方法时在getInputStream之前获取ResponseCode if( connection.getResponseCode() != HttpURLConnection.HTTP_OK) return null;

Android实际开发之网络请求组件的封装(OkHttp为核心)

趁周末时间撸了两天代码,将OkHttp网络请求框架进行了一次简单封装,对于实际开发非常有用.. 此次封装主要针对我们经常使用的网络请求的步骤进行封装,在已有框架OkHttp的基础上进行实际开发的封装 发送一个网络请求,有以下三个功能模块: 一:request处理 二:OkHttp核心处理 三:callback处理 我们进行网络请求组件的封装也是根据这三大模块进行封装的,下面规划一下这次封装的一个思维导图: 根据以上思维导图,我们第一步,先进行request的封装: 以下是封装的一个CommonR