简单嵌套for循环的示例:
代码语言:javascript复制for (let i=0; i<=2; i++) {
for (let j=0; j<=1; j++){
console.log("i is: " + i);
console.log("j is: " + j);
console.log("---");
}
}
带有延迟的嵌套for循环:
代码语言:javascript复制for (let i=0; i<=2; i++) {
for (let j=0; j<=1; j++){
task(i,j);
}
}
function task(i,j) {
setTimeout(function() {
console.log("i is: " + i);
console.log("j is: " + j);
console.log("---")
}, 1000 * i);
}
现在我的问题是
我怎样才能单独延迟每个循环。
当前输出(忽略“--”):
i,j,延迟,i,j,延迟,.
期望输出(忽略“--”):
i,延迟,j,延迟,i,延迟,j,延迟.
我尝试了如下(但它返回了一个完全错误的输出)
代码语言:javascript复制for (let i=0; i<=2; i++) {
for (let j=0; j<=1; j++){
taski(i);
taskj(j)
}
}
function taski(i) {
setTimeout(function() {
console.log("i is: " + i);
}, 1000 * i);
}
function taskj(j){
setTimeout(function() {
console.log("j is: " + j);
}, 1000 * j);
}