【背景】
每次发送请求,在接收到服务器响应时,直接通过回调方法对服务器端返回的数据进行处理并更新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判断是否终止回调方法 }