[英]For Loops timing out: JavaScript / Google Apps Script
所以我對Google Apps腳本有這個問題。 它超時是因為應用服務器請求耗時太長。 我只是想知道我的編碼是否可以清理一下以便更快地運行,還是有另一種方法可以工作?
代碼如下:
for (var y = 1; y < listLast ; y++) {
var matchor = listSheet.getRange("B" + y).getValue();
var listEmCo = listSheet.getRange("A" + y).getValue();
if(matchor == "Match") {
Logger.log("Do Nothing");
} else {
for (var x = 0; x < formLast; x++) {
if(listEmCo == formData[x]){
listSheet.getRange("B"+ [y]).setValue("Match");
break;
} else {
listSheet.getRange("B"+ [y]).setValue("No Match");
}
}
}
}
謝謝你的回復:)
不要使用.getValue();
在一個循環中。 這個操作很重。
請使用range.getValues()
然后循環數組以獲取值。
計划是:
range
var data = range.getValues();
獲取數據var data = range.getValues();
array = [];
[["value1"], ["value2"], ...,]
。 注意。 它應該是2D陣列。 rangeTo
rangeTo.setValues(array);
粘貼新值。 查看更多:
查看有關主題的更多問題:
http://stackoverflow.com/questions/39859421/google-script-internal-error-after-15-seconds
http://stackoverflow.com/questions/44021567/google-sheet-script-multiple-getrange-looping
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.