Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 $。当承诺对象不工作时_Javascript_Jquery_.when - Fatal编程技术网

Javascript $。当承诺对象不工作时

Javascript $。当承诺对象不工作时,javascript,jquery,.when,Javascript,Jquery,.when,我正在进行并发AJAX请求,但在尝试等待所有调用返回时遇到问题,console.log inside done()将结果显示为空数组。$。当没有等待请求完成时 var result = [] var promise = [] for (i=0;i < array.length;i++) { _url = "http://example.com" var req = $.ajax( { type: "GET",

我正在进行并发AJAX请求,但在尝试等待所有调用返回时遇到问题,console.log inside done()将结果显示为空数组。$。当没有等待请求完成时

 var result = []
  var promise = []
  for (i=0;i < array.length;i++)
  {
    _url = "http://example.com"
      var req = $.ajax(
        {
          type: "GET",
          url: _url,
          success: function(request) { result.push(request)         
          } ,
          error: function(request) {  result.push("ERROR BROTHA")              
        }
        });
      promise.push(req)
  }

  $.when(promise).done(function(){
    console.log(result);
  });
var结果=[]
var promise=[]
对于(i=0;i
您需要排列阵列

来自文档

jQuery.when(延期)

延迟
零个或多个延迟对象,或普通JavaScript对象


ES6解决方案:
$.when(…promise).done()
@MarcoScabbiolo:如果你在使用ES6,你会写
Promise.all(Promise)。然后(…)
$.when.apply($, promise).done(...);