Skip to main content
 首页 » 编程设计

google-apps-script之如何使用 Utilities.sleep() 函数

2024年11月01日9arxive

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) 
}