Я пытаюсь загрузить серию шаблонов в массив, и у меня возникли проблемы с методом jQuery when
(на основе этого ответа )
var files = [/*array of file names*/];
var templates = [];
files.forEach(function(file){
templates.push(
$.get('/temps/' + file + '.hbs').then(function(temp) {
console.log('done loading', temp);
})
)
});
$.when.apply($, templates).then(function() {
console.log(arguments); //"undefined"x10
});
Почему массив обещаний для when
не создает массив из десяти моих шаблонов? Что здесь пошло не так?
Редактировать: очевидно, что отказ от метода then
в каждом get
немного приблизил меня:
templates.push($.get('/temps/' + file + '.hbs'));
Однако мне любопытно, когда я не могу использовать then
здесь, а также когда
templates.push($.get('/temps/' + file + '.hbs')[0])
все еще дает мне массив undefined
s. Первый элемент возвращаемого массива — это возвращаемые данные. Почему не работает нажатие этого первого элемента?