Utilities.sleep()
的确切用途是什么?功能?我们应该在函数调用或 API 调用之间使用它吗?
我使用 Utilities.sleep(1000)
中间函数调用,对吗?它会减慢执行时间吗?
请您参考如下方法:
Utilities.sleep(milliseconds) 在程序执行中创建一个“暂停”,这意味着它在你要求的毫秒数内什么都不做。
它肯定会减慢您的整个过程,您不应该在函数调用之间使用它。
不过也有一些异常(exception),至少我知道的是:在 SpreadsheetApp 中,当您想要删除多个工作表时,您可以在每次删除之间添加数百毫秒以允许正常的脚本执行(但这是一种解决方法)此特定方法的一个已知问题)。在电子表格中创建许多工作表时,我也必须使用它,以避免浏览器在执行后需要“刷新”。
这是一个例子:
function delsheets(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var numbofsheet=ss.getNumSheets();// check how many sheets in the spreadsheet
for (pa=numbofsheet-1;pa>0;--pa){
ss.setActiveSheet(ss.getSheets()[pa]);
var newSheet = ss.deleteActiveSheet(); // delete sheets begining with the last one
Utilities.sleep(200);// pause in the loop for 200 milliseconds
}
ss.setActiveSheet(ss.getSheets()[0]);// return to first sheet as active sheet (useful in 'list' function)
}