javascript - setTimeout 在我的 for 循环中不起作用 - 完全跳过它
问题描述
function whatever () {
for (var i=0; i < arr.length; i++) {
do something
slowDown();
};
};
function slowDown () {
time = setTimeout(function (){
do something else
}, 5000);
};
解决方案
而不是这样,为什么不只是设置和间隔,在当前数组值上执行直到它完成,然后清除它?
let ctr = 0, time = setInterval(function() {
let curitem = arr[ctr];
// do somethign with curitem
if (++ctr >= arr.length) clearInterval(time)
}, 5000);
推荐阅读
- bash - bash 脚本内 $0 的意外值
- go - Flutter IAP 支付验证和消耗品
- android - 在 Flutter Project 中 Android 项目屏幕自动打开
- reactjs - React+ 将整个状态对象发送到另一个组件
- python - Python:一组输出的顺序
- git - 如何在 Fork 中将更改视图设置为默认值?
- python - python中的Mysql命令产生:SyntaxError:EOL,同时扫描字符串文字
- machine-learning - 如何计算平衡的多类精度?
- excel - Unpivot file with power 查询导致文件超过 100 万条记录
- webpack - 维姆。打开文件(光标下),路径以@/开头