我有一个加载部分的功能。
function loadSection(sectionId, onLoaded) {
$.when(
loadTemplate(sectionId),
// etc
)
.then(function () {
// removed for brevity
}
}
在loadTemplate
函数中,我淡出当前模板,并在淡出后加载新模板。
function loadTemplate(sectionId) {
// Fade out current template.
return $content.fadeOut(function () {
// After fade out, load new template via ajax.
$.ajax({
url: settings.apiUrl + 'GetSectionTemplate',
data: { sectionId: sectionId },
type: 'post',
success: function (template) {
// Add new content and fade in new template.
$content
.html(template)
.fadeIn();
}
});
});
}
问题是在$.when
继续之前唯一等待fadeOut 函数完成。我需要它来等待fadeOut 和ajax 调用完成,但我需要ajax 调用仅在fadeOut 完成后执行。