javascript - 如何顺序处理循环中的异步函数

标签 javascript

我正在尝试更改文本,以便它们一次出现一个,几乎以连续的方式出现。

columns.forEach((x) => {
    setTimeout(() => {
        x.style.color="red"
    }, 2500)

})

但是,这只是将它们全部延迟了 2500 毫秒,然后在 2500 毫秒之后,它们同时发生了变化。

最佳答案

.forEach() 方法将索引值作为第二个参数传递。您可以将其乘以某个常数来展开计时器:

columns.forEach((x, index) => {
    setTimeout(() => {
        x.style.color="red";
    }, 2500 + index * 500);

});

关于javascript - 如何顺序处理循环中的异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54190896/

相关文章:

javascript - 如何使用 JQuery contains 获取精确字符串

javascript - 如何在 SVG 路径数据 (d) 字符串本身中执行旋转?

javascript - 滚动后 jquery 动画的长时间延迟

javascript - 使用 JQuery 选择嵌套 Div 中的元素

javascript - jquery "slideToggle()"不工作

javascript - 无法调用undefined的save方法。蒙古人

javascript - Parsley.js - 显示指定元素中的错误

javascript - while循环仅设置php输入字段中的第一个值

javascript - 如何使 Material-UI 单选按钮 float : left

javascript - 在javascript中访问数组中的对象