JavaScript 中的
forEach
方法是同步执行的。这意味着,当你在循环中调用
forEach
时,它将顺序执行每个回调函数,在执行完所有回调函数之后才会继续执行后续代码。
例如,在下面的代码中,在调用
forEach
之后的控制台输出语句将在循环完成后立即执行:
let arr = [1, 2, 3];
arr.forEach(function(value) {
console.log(value);
console.log('Done!');
Done!
如果你希望在循环中异步执行回调函数,可以使用 setTimeout
函数,例如:
let arr = [1, 2, 3];
arr.forEach(function(value) {
setTimeout(function() {
console.log(value);
}, 0);
console.log('Done!');
这将在循环完成后立即执行 console.log('Done!')
,但是回调函数将在 0 毫秒的延迟后异步执行。
希望这能帮到你。