Apps 脚本:如何重复 while 循环?
Appscript: how to repeat a while loop?
这是我目前的 while 循环:
function rowcount()
{
var token = getAccessToken();
var module = "sHistory";
var rows = 0;
var go = true;
var i = 1;
var data;
while (go) {
//Utilities.sleep(10000)
data = getRecordsByPage(i,200,token,module);
if (Number(data.info.count) < 200) {
go = false;
};
if ((i%10) == 0) {
go = false;
}
rows = Number(rows) + Number(data.info.count);
i++;
Logger.log("rowcount " + rows)
}
return rows
}
我的问题是如何使用 for 循环重复 while 循环 93 次,每次通过的计时器为 10 秒?
能否给出一个for循环代码的例子来演示一下?我已经坐了好几天了,我尝试了一个 for 循环,但我认为我做错了,请协助,我创建了一个新函数,我试图重复 while 函数。
function repeatloop()
{
for(i=rowcount(); i <= 10; i++)
{
Utilities.sleep(10000)
Logger.log(i)
i++
}
}
我只需要整理以上内容即可完成我的脚本
i
应初始化为 0
。只调用一次 i++
。
function repeatloop() {
for (let i = 0; i < 10; i++) {
Utilities.sleep(10000);
console.log(i);
console.log(rowcount());
}
}
您可以使用 setInterval
.
像这样:
function repeatLoop() {
let i = 0;
if (typeof repeatLoop.prototype.counter === 'undefined') {
repeatLoop.prototype.counter = 0;
}
const intervalInstance = setInterval(() => {
if (i > 10) {
clearInterval(intervalInstance);
} else {
console.log(repeatLoop.prototype.counter);
i++;
repeatLoop.prototype.counter++;
}
}, 10000);
}
这是我目前的 while 循环:
function rowcount()
{
var token = getAccessToken();
var module = "sHistory";
var rows = 0;
var go = true;
var i = 1;
var data;
while (go) {
//Utilities.sleep(10000)
data = getRecordsByPage(i,200,token,module);
if (Number(data.info.count) < 200) {
go = false;
};
if ((i%10) == 0) {
go = false;
}
rows = Number(rows) + Number(data.info.count);
i++;
Logger.log("rowcount " + rows)
}
return rows
}
我的问题是如何使用 for 循环重复 while 循环 93 次,每次通过的计时器为 10 秒?
能否给出一个for循环代码的例子来演示一下?我已经坐了好几天了,我尝试了一个 for 循环,但我认为我做错了,请协助,我创建了一个新函数,我试图重复 while 函数。
function repeatloop()
{
for(i=rowcount(); i <= 10; i++)
{
Utilities.sleep(10000)
Logger.log(i)
i++
}
}
我只需要整理以上内容即可完成我的脚本
i
应初始化为 0
。只调用一次 i++
。
function repeatloop() {
for (let i = 0; i < 10; i++) {
Utilities.sleep(10000);
console.log(i);
console.log(rowcount());
}
}
您可以使用 setInterval
.
像这样:
function repeatLoop() {
let i = 0;
if (typeof repeatLoop.prototype.counter === 'undefined') {
repeatLoop.prototype.counter = 0;
}
const intervalInstance = setInterval(() => {
if (i > 10) {
clearInterval(intervalInstance);
} else {
console.log(repeatLoop.prototype.counter);
i++;
repeatLoop.prototype.counter++;
}
}, 10000);
}