wake-up-neo.net

Verwendung der Funktion Utilities.sleep ()

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?

24
balajiboss

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)
}
44
Serge insas