Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 使用Jquery从多个端口获取数据_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用Jquery从多个端口获取数据

Javascript 使用Jquery从多个端口获取数据,javascript,jquery,html,Javascript,Jquery,Html,下面是我用来从两个localhost端口(1000和2000)捕获数据的js: 我发现来自端口的数据将在不同的时间到达我的手中,而不会同时到达。我想知道的是,如何确保来自端口的所有数据都已到达我手中,然后只有我才能执行函数work()?在解决一系列承诺后,您可以使用执行回调 var r1=$.get(“http://localhost:2000/api/group1"); 变量r2=$.get(“http://localhost:1000/api/group2"); 变量r3=$.get(“h

下面是我用来从两个localhost端口(1000和2000)捕获数据的js:

我发现来自端口的数据将在不同的时间到达我的手中,而不会同时到达。我想知道的是,如何确保来自端口的所有数据都已到达我手中,然后只有我才能执行函数
work()

在解决一系列承诺后,您可以使用执行回调

var r1=$.get(“http://localhost:2000/api/group1");
变量r2=$.get(“http://localhost:1000/api/group2");
变量r3=$.get(“http://localhost:1000/api/group3");
var r4=$.get(“http://localhost:1000/api/group4");
$.when(r1、r2、r3、r4).完成(函数(a1、a2、a3、a4){
作品(a1[0]、a2[0]、a3[0]、a4[0]);
})
功能工作(组1、组2、组3、组4){
//此函数将处理所有数据。

}
在所有成功事件上调用
工作
函数,并将所有变量检查为
if(group1&&group2&&group3&&group4)

var组1;
$.get(”http://localhost:2000/api/group1,函数(数据){
组1=数据;
window.work();
});
var组2;
$.get(”http://localhost:1000/api/group2,函数(数据){
组2=数据;
window.work();
});
var组3;
$.get(”http://localhost:1000/api/group3,函数(数据){
组3=数据;
window.work();
});
变量组4
$.get(”http://localhost:1000/api/group4,函数(数据){
第4组=数据;
window.work();
});
window.work=函数(){
if(组1和组2和组3和组4){
//你的代码在这里。
}

}
谢谢。但是我不理解(a1,a2,a3,a4)和(a1[0],a1[1],a1[2],a1[3])。为什么不同?@Coolguy因为我们将多个承诺传递给
when()
每个承诺的pram集将作为数组传递给then回调,因为ajax请求的
done()
回调得到3个参数,第一个是数据数组中的第一个元素是每个请求的数据。。。代码中有一个错误。。。也解决了这个问题
  var group1;
  $.get( "http://localhost:2000/api/group1", function( data ) {
      group1 = data; 
  });
  var group2;
  $.get( "http://localhost:1000/api/group2", function( data ) {
      group2 = data;
  });
  var group3;
  $.get( "http://localhost:1000/api/group3", function( data ) {
      group3 = data; 
  });
  var group4
  $.get( "http://localhost:1000/api/group4", function( data ) {
      group4 = data;
  });

  function work()
  {
     //This function will process all the data.
  }