这是我的问题:函数完成其工作才能在页面中显示不同内容时,我必须打印相同的时间。当函数结束工作时,我使用了promise对象。 每个循环一个打印。 我通过json检索数组,元素必须被打印才能每次打印一个。 代码在这里
$('#prev_print').on("click", (function(event) {
$.ajax({
type: 'POST',
url: 'json/get.php?multi=' + $("#prev_id").val(),
dataType: 'json',
encode: true
}).then(function(data) {
if ((data)["success"] === true) {
$.each((data)["multi"], function(i, n) {
prev_edit(n).then(function() {
window.print();
});
});
}
});
}));
function prev_edit(prev_id) {
return $.ajax({
type: 'POST',
url: 'json/get.php?t=2&p=' + prev_id,
dataType: 'json',
encode: true
}).then(function(data) {
var prom;
//some operations to show the retrieved data from json
$('html,body').animate({ scrollTop: $("#cli_header").offset().top }, 'slow');
$("#risultato").show();
prom = $("#preventivo_edit").show("slow").promise();
return prom;
});
};
它会多次打印到数组的长度,但不会等到函数完成工作