これはとても奇妙に思えます。
私は次のものを持っています
$.when.apply(null, arrayOfDeferredObjects).then(function(result)) {
if (1 == arrayOfDeferredObjects.length){
//stuff done here
}
else{
for (var index = 0; index < contentUnits.length; index++) {
if(arguments && arguments[index][0] && arguments[index][0].response) {
//stuff done here
}
};
}
私の予想では、引数は、Deferred の配列内の 1 つの呼び出しに対して 1 つのオブジェクトの配列になり、遅延配列内の X 呼び出しに対して X オブジェクトの配列になります。
なぜこれが起こっているのかはわかっていますが、配列の長さをチェックするのはイライラします。オブジェクトが 1 つしかない場合、Arguments は配列ではなく、1 つ以上ある場合です。それは明らかです。最初の呼び出しを表すだけでなく、返されるパラメーターを作成するためにできることはありますか?