1
AJAX에서 가져온 데이터를 처리하는 3 가지 함수가 있으며, AJAX 함수가 호출 된 후 페이지를 업데이트합니다.jQuery가 연기 된 여러 함수가 완료된시기를 알려주는 방법
AJAX 함수를 호출 할 때 로더를 표시하면 AJAX가 완료되고 함수가 완료된 후 로더를 숨기려고합니다.
어떻게 3 가지 기능이 모두 완료되면 jQuery에서 whenfer를 사용하여 테스트를 지연시킬 수 있습니까?
여기 내 AJAX 코드입니다. 이것은 AJAX 성공에 대한 로더를 숨 깁니다. 이상적으로 이것은 3 개의 함수가 완료되었거나 성공한 것입니다.
3 개의 함수는 처리하고 페이지에 표시 할 데이터를 받지만 AJAX 함수는 아닙니다.
function setUpStocking() {
$.ajax({
url: url,
cache: false,
beforeSend: function(){
// Show loader
$('.loader').show();
},
success: function(data){
updateMyList(data.gifts);
updateRecievedGift(data.recieved);
updateGiftsOpenedToday(data.opened);
// Hide loader
$('.loader').hide();
}
});
}
기능은 AJAX 기능 밖에 :
function updateMyList(gifts) {
// Get data, process it and add it to page
}
function updateRecievedGift(recieved) {
// Get data, process it and add it to page
}
function updateGiftsOpenedToday(opened) {
// Get data, process it and add it to page
}
감사합니다. 3 가지 기능에 대한 약속을해야합니까? – zizther
AJAX 요청을하는 경우 이미'return $ .ajax ({/ * settings * /});를 사용하는 것으로 가정합니다. –
지금 제가 갖고있는 것을 정확하게 보여주기 위해 제 질문을 업데이트했습니다. 나는 현재 연기 또는 약속이 없습니다. AJAX 요청 응답은 데이터를 처리하고 페이지에 추가하기 위해 3 가지 다른 기능으로 전송됩니다. 이 3 개의 함수가 완료되면 나는 로더를 숨기고 싶다. 지금 당장 가지고있는 것은 AJAX 요청의 핵심 요소입니다. – zizther