我通過AJAX調用在後臺生成PDF。生成PDF需要一些時間(大約一秒左右)。只有在完成前一個AJAX調用時才執行下一個AJAX調用
下面的工作正常,但問題是我用完內存。 因此,我只想在以前的AJAX調用完成時纔開始計算(即只發出AJAX調用)。
我玩過async: false
,但它凍結了我的頁面,這是不受歡迎的行爲(無論如何都會使用async
)。
我的代碼:
$("div[data-myid]").each(function(){
var myid= $(this).data('myid');
var my_div = $(this);
$.ajax({
url: "/my_ajax/" + myid + "/",
}).done(function (data) {
my_div.html(data.message + ' <a href="' + data.url + '">Download</a>');
});
});
HTML:
<table>
<tr>
<td><div id="div_260" data-myid="260">Queued..</div></td>
</tr>
<tr>
<td><div id="div_259" data-myid="259">Queued..</div></td>
</tr>
</table>
注意該表是動態生成的,一般包含超過100行。
關於如何最好地接近這個的任何想法?
您可以利用使用webWorkers的工作? –
@ RokoC.Buljan:我從來沒有使用WebWorkers,但這些似乎正在執行一個外部的JS文件 - 不知道這可能會有幫助嗎?你能提供一些背景嗎? – SaeX