我正在設置一個 Android 訂單接受應用程序,并且需要將訂單存儲在 google 表格中。它有效,但直到我在 for 循環中添加 post 請求函數。所以我通過在 for 循環中添加延遲來解決這個問題。但是,還有其他方法可以做到這一點嗎?因為每次我提交訂單時,應用程序都會滯后,直到 for 循環完成。我添加了一個 thread.sleep 來避免這個問題,如下所示:for (int i = 0; i < order.size(); i++){ String itemName = order.get(i); String addOn = addOns.get(i); String quantity = order.get(i); quantity = quantity.substring(quantity.length() - 2, quantity.length() - 1); itemName = itemName.substring(0, itemName.length() - 4); System.out.println("Item ID: " + i + " " + itemName + " " + addOn + " " + quantity + " " + orderId ); try{ Thread.sleep(550); //This is the delay I added. }catch(InterruptedException ex){ //do stuff } addItemToSheet(itemName,addOn,quantity,orderId);} if (null != getActivity()) { ((MainActivity) getActivity()).clearOrderList(); }這是谷歌應用程序:var ss = SpreadsheetApp.openByUrl("SPREADSHEET URL");var sheet = ss.getSheetByName('Items'); function doPost(e){ var action = e.parameter.action; if(action == 'addItem'){ return addItem(e); }}function addItem(e){ var date = new Date(); var id = sheet.getLastRow(); var orderNum = e.parameter.orderNum; var itemName = e.parameter.itemName; var quantity = e.parameter.quantity; var extra = e.parameter.extra; sheet.appendRow([date,id,orderNum,itemName,quantity,extra]); return ContentService.createTextOutput("Success").setMimeType(ContentService.MimeType.TEXT);}我可以對 java 循環或 google 應用程序做些什么,這樣我就可以避免使用 thread.sleep 來凍結我的應用程序,直到操作完成?也許有一種在java中延遲的替代方法?或者在谷歌應用程序中更快的操作?
如何在 Google-App 上允許快速發布請求?
慕尼黑8549860
2023-11-10 16:41:29