[英]How to Implement a Print Queue on Flutter?
我正在使用 esc_pos_bluetooth 0.2.8 庫並通過藍牙連接打印機當我一次發送一個訂單時可以,但是當有同時訂單時,它只打印第一個並忽略其他訂單。 我嘗試實現打印隊列,但沒有成功。
List printQueue = [];
insertPrintQueue(Schema item) {
printQueue.add(item);
printTicket(printQueue[0]);
}
verifyPrintQueue() {
if (printQueue.length > 0) {
printTicket(printQueue[0]);
}
}
printTicket(Schema item) async {
if (printerDevices != null) {
printerManager.selectPrinter(printerDevices[0]);
await printerManager
.printTicket(await ticket.templateTicket(item))
.then((value) => {
printQueue.removeAt(0),
if (printQueue.length > 0)
{
printTicket(printQueue[0])
}
});
} else {
print("None Printer Found");
}
我認為這是因為我試圖在打印機忙碌時打印,有辦法檢查打印機的狀態嗎? 並在打印機不打印時訂購打印
insertPrintQueue(Schema item) {
printQueue.add(item);
printTicket(printQueue[0]); // Here
}
您總是試圖打印第一項。 所以它按預期工作。 你可以這樣做:
insertPrintQueue(Schema item) {
printQueue.add(item);
//printTicket(printQueue[0]);
for (var ticket in printQueue) {
printTicket(ticket);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.