我正在研究一些负责在多台不同打印机上打印文档的代码。对于每个打印机,调用'sendToPrinter'并传递文档,打印机对象和打印机用于回调成功或失败的对象。根据打印机类型,回调是同步/异步执行的,这是我到目前为止的简化版本。
var x = 0;
var printDocument = function(document, printers) {
sendToPrinter(document, printers[x], ({
success: function() {
x±+;
if (x < printers.length) {
printDocument(document, printers);
}
},
failure: function() {
x++;
if (x < printers.length) {
printDocument(document, printers);
}
}
}));
};
除此之外,我还有两个回调函数传递给包装函数,一个是在任何打印作业成功时被调用的,另一个是如果它们都没有被调用,这就是我正在努力的。
如何最好地跟踪各种打印作业的结果,以便在完成后我可以执行正确的回调?
答案 0 :(得分:1)
来自jquery的defferds / promises与'when'结合使用此类同步:http://api.jquery.com/jQuery.when/
还有一些非jquery解决方案可以实现类似的解决方案。