jsZip - выполнить generateAsync после успешной публикации Ajax - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть номер, если файлы будут добавлены в ZIP-файл. некоторые являются необязательными (выбор пользователя). Мне нравится выполнять generateAsync, как только все необходимые файлы Ajax отправляют успешно. Я пытался разместить чек, но он не работает.

Образцы кодов:

var requestCSS;
var StyleFileData;
var requestAnimatedJS;
var AnimatedScriptData;

function getAllFiles(complileComplete){
  requestCSS = $.ajax({
    url: 'css/styles.css',
    type: "GET",
    contentType: "text/css",
    mimeType:'text/plain; charset=x-user-defined',
    success: function (data){
       StyleFileData = data;
    }
  });
  if(animatedBG){
    requestAnimatedJS = $.ajax({
        url: 'js/animated.js',
        type: "GET",
        contentType: "text/javascript",
        mimeType:'text/plain; charset=x-user-defined',
        //async: false,
        success: function (data){
           AnimatedScriptData = data;
        }
    });
  } else {
      requestAnimatedJS = '';
  }
}

$('#saveProject').on('click', function(){
   getAllFiles(complileComplete);
   if(complileComplete === true) {
     var zip = new JSZip();
     var jsFiles;
     var cssFiles;

     zip.file("index.html", fullHTML);
     jsFiles = zip.folder("js");
     cssFiles = zip.folder("css");

     requestCSS.done( function( data ) {
         cssFiles.file("styles.css", data, { binary: true });
     });

     if(animatedBG){
        requestAnimatedJS.done( function( data ) {
            jsFiles.file("particles.js", data, { binary: true });
        });
     }

     zip.generateAsync({type:"blob"})
    .then(function(content) {
        saveAs(content, "Sample.zip");
    });

   }
});

Нет серверной стороны или node.js участвует.

...