model.PartNumber
在Javascript中的正常行为是,它在setInterval(function() {...}, intervalInMilliseconds)
毫秒后首次被调用,此后继续一次又一次地运行没有任何延迟或等待。
我需要每隔10秒执行一次我的代码。下面的代码将在10秒后第一次执行该函数,然后继续一次又一次地执行它(直到clearInterval()被调用),而没有任何延迟/等待。
intervalInMilliseconds
在10秒钟的延迟后,我需要执行 每个 迭代。我该怎么办?
答案 0 :(得分:2)
所以,据我所知,您希望“循环”在代码完成后10秒执行吗??如果是这样,您可以做这样的事情...
同步示例...
var loop = () => {
setTimeout(() => {
doSyncWork()
loop()
}, 1000)
}
loop()
或异步(例如ajax)...
var loop = () => {
setTimeout(() => {
doAsyncWithCallback(loop)
}, 1000)
}
loop()
或者有诺言...
var loop = () => {
setTimeout(() => {
doAsyncWithPromise().then(loop)
}, 1000)
}
loop()
答案 1 :(得分:0)
setInterval(function(){...}的正常行为, Javascript中的intervalInMilliseconds)被称为 intervalInMilliseconds毫秒之后的第一次,之后 继续不断运行,没有任何延迟或等待。
那不是真的。
setInterval的常见行为是每n
毫秒执行一次回调。
每个回调调用都将在n
毫秒之前的回调调用之后发生。
看看
let counts = 0;
let interval = setInterval(() => {
console.log(counts % 2 == 0 ? 'tick' : 'tack');
counts++;
if (counts == 5)
clearInterval(interval);
},1000);
我需要在10秒钟延迟后执行每次迭代。怎么能 我这样做吗?
像这样:
setInterval(callback, 10000);
每10秒调用一次回调