Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从服务器重新同步Json数据_Javascript_Jquery_Json_Asynchronous - Fatal编程技术网

Javascript 从服务器重新同步Json数据

Javascript 从服务器重新同步Json数据,javascript,jquery,json,asynchronous,Javascript,Jquery,Json,Asynchronous,我有两个来自Ios服务器的异步响应: serviceResponce1 = function(response, request){ result1 = Jquery.parseJson(request); } serviceResponce2 = function(response, request){ result2 = Jquery.parseJson(request); } 然后我需要过滤这两个结果: filterArray = result1.filter(functi

我有两个来自Ios服务器的异步响应:

serviceResponce1 = function(response, request){
   result1 = Jquery.parseJson(request);
}

serviceResponce2 = function(response, request){
   result2 = Jquery.parseJson(request);
}
然后我需要过滤这两个结果:

filterArray = result1.filter(function(item){
   return result2.indexOf(item.Id) !== -1;
}

但是它们是异步的,并且过滤器不工作。(当我硬编码数据时,它会工作)如何同步它们

实现这一点的最简单方法是在第一个请求的处理程序中发出第二个请求,然后处理响应:

request1(function(res1) { 
 request2(function(res2) { 
  filter(res1, res2); 
 }) 
});
第二种方法是使用延迟对象,如果使用jQuery(最新版本),则可以使用:


$.when(request1,request2).done(filter)

第一个对我很有帮助。谢谢