지연된 함수의 변수 세트를 $.when()
과 함께 배열에 사용하려고합니다. 이 함수는 서버에서 데이터를 가져 와서 DOM에서 렌더링합니다. 이 모든 작업이 끝나면 일부 스크립트가로드되고 몇 가지 사후로드 작업이 수행됩니다. 여기
function loadAllGames(updateGames, updatePlayoffs) {
var deferredLoads = [];
if (updateGames !== false)
deferredLoads.push($.Deferred(loadGames));
if (updatePlayoffs !== false)
deferredLoads.push($.Deferred(loadPlayoffs));
$.when.apply($, deferredLoads).done(loadPostGamesLoadData);
}
문제는 loadPostGamesLoadData
가 호출되고 있지 않습니다 있다는 것입니다.
모두 loadGames
및 loadPlayoffs
반환 약속 : $.ajax
이미 연기 반환로
function loadGames() {
$.get('{% url wave_spinner_template %}', {message: 'Loading games...'}, function (data) {
$('#weeks').html(data);
});
return $.ajax({
url: "{% url weeks season.id %}",
success: function (data) {
$('#weeks').html(data);
},
error: function() {
console.log("Error loading games.");
}
});
}
function loadPlayoffs() {
$.get('{% url wave_spinner_template %}', {message: 'Loading playoffs...'}, function (data) {
$('#playoffs').html(data).children('.spinner-container').addClass('border-top');
});
return $.ajax({
url: "{% url playoffs season.id %}",
success: function (data) {
var $playoffs = $('#playoffs');
if (!$playoffs.length) {
$playoffs = $('<div>', {id: 'playoffs'});
$('#weeks').after($playoffs);
}
$playoffs.html(data);
},
error: function() {
console.log("Error loading playoffs.");
}
});
}
어떤 약속이 반환있다. – Jai
그것은'$ .ajax'를 반환합니다. 모든 예제는 약속을 되 돌리는데 사용했습니다. 대신 내가 무엇을해야합니까? – dabadaba
앞으로는 완전히 다른 질문을하기보다는 이전의 질문을 편집하십시오. 언제든지 "수정"링크를 사용하여 질문을 수정할 수 있습니다. – jfriend00