【Windows phone 8】异步方法回调函数中断
2014-01-10 18:58
190 查看
【背景】
每次发送请求,在接收到服务器响应时,直接通过回调方法对服务器端返回的数据进行处理并更新UI。
现在发送第一个请求之后(第一个请求还没有接收到服务器的响应返回数据),又继续发送第二个请求,第二个请求发送完成之后,
第一个请求接收到服务器的返回数据开始更新UI导致数据错乱。
理应在第二次请求时,如果第一次没有接收到服务器端的响应就中断第一次请求的回调方法。
【代码】
每次发送请求,在接收到服务器响应时,直接通过回调方法对服务器端返回的数据进行处理并更新UI。
现在发送第一个请求之后(第一个请求还没有接收到服务器的响应返回数据),又继续发送第二个请求,第二个请求发送完成之后,
第一个请求接收到服务器的返回数据开始更新UI导致数据错乱。
理应在第二次请求时,如果第一次没有接收到服务器端的响应就中断第一次请求的回调方法。
【代码】
// 委托 public delegate void AsyncJosnDataCallbackWithParam<T>(T result, object param) where T : class; // 搜索接口 void AsyncSearchingResultWithParam(AsyncJosnDataCallbackWithParam<PhoneSearchingResult> callbackMethod,SearchingParam param, object callBackParam= null); // 发请求 this.searchingService.AsyncSearchingResultWithParam(SearchCallBack, SearchingParam, callBackParam); /// <summary> /// 回调方法 /// </summary> /// <param name="result"></param> private void SearchCallBack(PhoneSearchingResult result,object callBackParam) { // 根据callBackParam判断是否终止回调方法 }
相关文章推荐
- WCF分布式开发常见错误(13):The transaction under which this method call was executing ,此方法调用的事务被异步中断
- WCF分布式开发常见错误(13):此方法调用的事务被异步中断
- 也就是说在有异步回调函数的情况下,方法的返回值基本都是不能使用的。【也有特殊情况】
- javascript带回调函数的异步脚本载入方法实例分析
- python使用multiprocessing模块实现带回调函数的异步调用方法
- javascript带回调函数的异步脚本载入方法实例分析
- ACE_Future实现了单写多读模式,可以用来异步方法调用的结果返回
- android AsyncTask异步调用方法
- C++中建立对象间消息连接的一种系统方法——回调函数
- 从UI体验下异步调用的四种方法
- 详解javascript传统方法实现异步校验
- C# 异步方法调用
- Windows Phone的异步模型
- angularjs 指令中动态编译的方法(适用于有异步请求的情况) 内嵌指令无效
- JavaScript实现异步的4种方法
- Spring任务调度和异步方法实例
- 如何在ORACLE中异步调用存储过程的方法
- 终止线程的2种方法。标记法和中断
- C#异步方法调用
- 定义回调函数的方法