hed*_*g90 4 javascript node.js
我希望异步函数以每秒一次的最大速率运行。
async function update(){
await wait_for_response();
}
setInterval(update, 1000);
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,如果函数花费的时间超过一秒钟,则下一次更新将在上一次完成之前开始。
如果update()花费的时间超过1秒,则我希望下一个更新要等到最后一个更新完成后才立即运行。
是否有一个简单的内置方法或标准实践来实现?
我认为setTimeout在这种情况下,这将是更好的选择:
async function update() {
const t1 = new Date();
await wait_for_response();
setTimeout(update, Math.max(0, 1000 - new Date + t1));
}
update();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |