var modulesDemo = ['module1', 'module2'];
var moduleHtml='', pdfContent='';
$ .each(modulesDemo、関数(指数、モジュール){使用コールバック関数は、ループが完全に機能を待たない
if(typeof window[module] === 'function'){
window[module](function(content){
moduleHtml +=content;
if(modulesDemo.length==index+1){
pdfContent += '<table>';
pdfContent += moduleHtml;
pdfContent += '</table>';
console.log(pdfContent);
}
});
}
})。
function module1(callback){
var content='';
var canvas = $("#demoCanvas")[0];
var img = canvas.toDataURL("image/png");
content += '<tr>';
content += '<td>';
content += '<img style="width:100%;height:100%;margin-top:20px !important" src="'+img+'" />';
content += '</td>';
content += '</tr>';
callback(content);
}
function module2(callback){
function module2(callback){
var img;
var content;
html2canvas($("#demoCanvas1"), {
onrendered: function(canvas) {
img = canvas.toDataURL("image/png");
content += '<tr>';
content += '<td>';
content += '<img style="width:100%;height:100%;margin-top:20px !important" src="'+img+'" />';
content += '<td>';
content += '</tr>';
//alert(2);
callback(content);
}
});
}
}
<!-- language: lang-html -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id='demoCanvas'></canvas>
<!-- end snippet -->
私が$ .eachにコールバックを使用しています、ループは、誰もが私を助けcomplete.Can synchronous.Iterateが機能を待たずに機能していません。
あらゆる努力は
感謝を理解されるであろう!
を助けることfunction.May、あなたは同期コールバックを登録していますが、どのような順序でそれらを呼び出すことでしょう保証されません。 –
問題の症状は何ですか、moduleHtmlの順序が間違っていますか? – James