В настоящее время у меня есть фрагмент кода, который выглядит следующим образом:
$.when(aiFileGen, foeFileGen, foe2FileGen, playerFileGen).then(function (
aiFiles,
foeFiles,
foe2Files,
playerFiles
) {
var files = _.assign({}, aiFiles, foeFiles, foe2Files, playerFiles);
self.files(files);
done.resolve();
});
Снимок self.files()
выглядит следующим образом:
Object {/pa/ai/unit_maps/ai_unit_map.json.ai: Object, /pa/units/sea/hover_ship/hover_ship.json.ai: Object, /pa/units/sea/fabrication_barge/fabrication_barge.json.ai: Object, /pa/units/sea/drone_carrier/drone/drone.json.ai: Object, /pa/units/sea/drone_carrier/carrier/carrier.json.ai: Object…}
Проблема с этим методом в том, что он предполагает заданное количество параметров, но количество параметров может изменяться. Поэтому я попытался преобразовать во что-то более динамичное c.
var filesToProcess = [aiFileGen, playerFileGen];
filesToProcess.push(foeFileGen, foe2FileGen);
$.when.apply($, filesToProcess).always(function () {
self.files(_.assign({}, arguments));
done.resolve();
});
Однако результат self.files()
выглядит следующим образом:
Object {0: Object, 1: Object, 2: Object, 3: Object}
Где я ошибся в мое преобразование метода 1 в метод 2?