Was ist die genaue Verwendung von Utilities.sleep()
function? Sollten wir es zwischen Funktionsaufrufen oder API-Aufrufen verwenden?
Ich benutze das Utilities.sleep(1000)
zwischen den Funktionsaufrufen, stimmt das? Verlangsamt es die Ausführungszeit?
Utilities.sleep (Millisekunden) erzeugt eine "Pause" in der Programmausführung, was bedeutet, dass während der von Ihnen angeforderten Anzahl von Millisekunden nichts unternommen wird. Es verlangsamt sicherlich Ihren gesamten Prozess und Sie sollten es nicht zwischen Funktionsaufrufen verwenden. Es gibt jedoch ein paar Ausnahmen, zumindest die, die ich kenne: Wenn Sie in SpreadsheetApp mehrere Blätter entfernen möchten, können Sie zwischen den einzelnen Löschvorgängen einige Hundert Millisekunden einfügen, um eine normale Skriptausführung zu ermöglichen (dies ist jedoch eine Problemumgehung für ein bekanntes Problem mit dieser speziellen Methode). Ich musste es auch verwenden, wenn ich viele Blätter in einer Tabelle erstellte, um zu vermeiden, dass der Browser nach der Ausführung aktualisiert werden musste.
Hier ist ein Beispiel :
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)
}