2012-06-21 22 views
12

Utilities.sleep() işlevinin tam anlamı nedir? Fonksiyon çağrıları veya API çağrıları arasında kullanmalı mıyız?Utilities.sleep() işlevi nasıl kullanılır?

Utilities.sleep(1000) işlev çağrıları arasında kullanıyorum, doğru mu? Yürütme süresini yavaşlatır mı?

cevap

24

Utilities.sleep (milisaniye), program yürütme sırasında bir 'duraklatma' oluşturur, yani sorduğunuz milisaniye sayısı sırasında hiçbir şey yapmaz. Kesinlikle tüm sürecinizi yavaşlatır ve işlev çağrıları arasında kullanmamalısınız. Bazı istisnalar var, en azından bildiğim şu: SpreadsheetApp uygulamasında bir dizi sayfayı kaldırmak istediğinizde, her bir silme işlemi arasında normal kod çalıştırmasına izin vermek için birkaç yüz millisec ekleyebilirsiniz (ancak bu bir geçici çözümdür). Bu özel yöntemle bilinen bir sorun için). Tarayıcının çalıştırıldıktan sonra 'yenilenmesi' gerektiğinden kaçınmak için bir e-tabloda çok sayıda sayfa oluştururken de kullanmam gerekiyordu.

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

bir örnektir
İlgili konular