zl程序教程

您现在的位置是:首页 >  后端

当前栏目

js 或 油猴 循环内 setTimeout 同步定时

JS循环同步 定时 setTimeout
2023-09-11 14:16:44 时间

使用 js 内置方法

  1. 使用 await

  2. 官方描述
    在这里插入图片描述

  3. 转至官方解释

  4. 重点为 暂停 async 方法 ,所以才可以实现 同步定时

个人理解

使用定义异步函数,异步函数内 调用同步方法, 等待同步方法 返回值后,异步方法继续执行

代码实现

function delate(x) {
    return new Promise(resolve => {
        setTimeout(() => {
            console.log(111);
            resolve(x); //必须有这一条指令,全靠他 同步了,且将实参原封不动 返回[可无]
        }, 2000);
    });
}
(async function f1() {
    for(let j=0;j<10;j++){
        var x = await delate(222);// 先 同步调用函数,输出 111 ,
        console.log(x); //等待上一条 同步定时函数 执行结束后,再执行这一条 输出 222
    }
})()