0

私はこのようなコードを持っています、

var deffereds = $(someArray).map(function(index, ele) {
  return $.Deferred(function(def) {
      //Do Some custom thing with ele here
      def.resolve(someValue); //SomeValue will be differnt for each element
  });
});
$.when.apply(null, deffereds.get()).then(function (r1,r2,...) { // <-- Here is the problem
   //How Can I access responses from all the deffereds?
});

私の質問は、すべての defered からの応答にどのようにアクセスできますか? someArray の項目数は動的であるためです。

4

1 に答える 1

0

「特別な」引数パラメーターを使用できます

$.when.apply(this, deferredArray).then(function() { 
  for (var i = 0; i < arguments.length; i++) {
    console.log("Promise "+ i +" returned: " + arguments[i]);
  }
  alert("Finished"); 
});
于 2014-02-14T08:51:54.527 に答える