2017-06-15 61 views
0

有沒有辦法讓我延遲Google Apps腳本中的函數調用?我目前正在測試較小的時間範圍,但最終我希望在處理數據和調用moveRows之間有72小時的等待時間。Google Apps腳本ReferenceError:「setTimeout」未定義

我試圖通過使此Javascript函數調用來實現這一目標:

setTimeout(function() { moveRows(arrayOfRows); }, 3000); 

我也試圖與一個觸發器這樣做,但我從來沒有功能接到電話。

ScriptApp.newTrigger('moveRows(arrayofRows)') 
.timeBased() 
.everyMinutes(1) 
.create() 

我在做什麼錯?

+0

setTimeout不是JavaScript的一部分,是客戶端瀏覽器編程的一部分。使用觸發器。你不能傳遞參數給觸發器,使用其他方法,如腳本屬性。 –

回答

1

setTimeout()屬於GAS中不存在的'window'對象。請記住,代碼是在Google服務器上編譯的,而不是在瀏覽器中編譯的,因此您無法在此環境中訪問DOM。同樣,您不能引用「文檔」或其他DOM對象。唯一可能的地方是HtmlService創建併發送到瀏覽器進行呈現的客戶端HTML。

您只能將函數名稱作爲參數傳遞給newTrigger()方法。你正在傳遞參數,這就是爲什麼它不起作用。

相關問題