aprdec 发表于 2023-11-29 10:50:35

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

```
    bt.onclick = async function (event) {
      for (var i = 0; i < time; i++) {
               dosomething()
            await setTimeout(run, 1000)
            console.log("dianji"+i)      
      }
    };
```
这么写run还没跑完循环都跑完了,求大佬赐教

王一之 发表于 2023-11-29 13:41:01

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

每隔一秒run一次?

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

可以试试这样:

```js
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)      
      }
    };
```
页: [1]
查看完整版本: 如何让脚本异步执行指定次数