Я пытаюсь задерживать некоторые активы для веб-сайта. Я очень новичок в обещаниях, но они, похоже, очень полезны в этом контексте. В частности, у меня есть метод ниже, который я создал для загрузки как файлов HTML, так и CSS, а затем переверните наблюдаемый элемент KnockoutJS, указав, что секция затем доступна. Этот метод выглядит следующим образом:Руководство по созданию иерархии обещаний jQuery
function delayDownloadAssets(sectionName) {
var htmlRequest = $.ajax({ url: 'http://www.example.com/' + sectionName + '.html' }),
cssRequest = $.ajax({ url: 'http://www.example.com/' + sectionName + '.css' });
$.when(firstRequest, secondRequest).done(function (firstResponse, secondResponse) {
//Insert HTML assets and CSS assets into DOM
app.sections[sectionName].enabled(true);
});
}
я могу вызвать метод несколько раз, как:
delayDownloadAssets("Section1");
delayDownloadAssets("Section2");
delayDownloadAssets("Section3");
До сих пор, так хорошо. Но я хотел бы обернуть все три вызова загрузки загрузки аналогичным образом, чтобы я мог принять меры. Что-то вроде:
$.when(delayDownloadAssetsCall1, delayDownloadAssetsCall2,delayDownloadAssetsCall3).done(function() {
alert('Web site download is entirely complete!');
});
Я надеюсь, что этот вопрос ясен, но если она нуждается в разъяснении, пожалуйста, дайте мне знать. Благодаря!
Спасибо! Какое простое решение. Я соглашусь, как только SO разрешит это. – BenjiFB