我正在研究一些负责在许多不同打印机上打印文档的代码。对于每台打印机,“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);
}
}
}));
};
除此之外,我还有两个回调传递给包装函数,一个将在任何打印作业成功时调用,另一个如果它们都不成功,这就是我正在努力解决的问题。
如何最好地跟踪各种打印作业的结果,以便在它们全部完成后我可以执行正确的回调?