上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

如何让脚本异步执行指定次数

[复制链接]

该用户从未签到

1

主题

1

回帖

4

积分

助理工程师

积分
4
发表于 2023-11-29 10:50:35 | 显示全部楼层 | 阅读模式
悬赏2油猫币未解决
    bt.onclick = async function (event) {
        for (var i = 0; i < time; i++) {
               dosomething()
            await setTimeout(run, 1000)
            console.log("dianji"+i)        
        }
    };

这么写run还没跑完循环都跑完了,求大佬赐教

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4197

    回帖

    4061

    积分

    管理员

    积分
    4061

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2023-11-29 13:41:01 | 显示全部楼层

    哥哥想要的效果是怎么样?

    每隔一秒run一次?

    setTimeout并不是同步函数,不能这样用

    可以试试这样:

    function sleep(s){
    return new Promise(resolve=>setTimeout(resolve,s*1000));
    }
        bt.onclick = async function (event) {
            for (var i = 0; i < time; i++) {
                dosomething()
                await sleep(1);
                run()
                console.log("dianji"+i)        
            }
        };
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表