gpt4 book ai didi

javascript - 使用 async.js 的嵌套循环

转载 作者:行者123 更新时间:2023-11-28 13:22:17 25 4
gpt4 key购买 nike

我想做一个非常简单的代码,其中我在 JavaScript 中有两个嵌套循环,打印出它们当前所在的索引。 (这是我想做的其他事情的基础)。内部循环有一个计时器,因此在打印每个数字之前应该等待 1 秒。

我期望这样的输出:

outer count: 0
inner count: 0
inner count: 1
inner count: 2
inner count: 3
inner count: 4
in out
outer count: 1
inner count: 0
inner count: 1
inner count: 2
inner count: 3
inner count: 4
in out

等等,但这并没有发生。我的代码中有一些明显的错误吗? async while 函数甚至可以嵌套吗?请帮忙! :(

这是我到目前为止的代码:

var count = 1;
async.whilst(
function() {return count < 5},
function(callback){


var icount = 0;

console.log("outer count:" + count);

async.whilst(
function () { return icount < 5; },
function (callback) {
console.log("inner count:" + icount);
icount++;
setTimeout(callback, 1000);
},
function (err) {
// 5 seconds have passed
console.log("in out");
}
);

count++;

callback();

},
function(err){
console.log("out out");
}
);

最佳答案

var count = 1;
async.whilst(
function() {return count < 5},
function(outer_callback){


var icount = 0;

console.log("outer count:" + count);

async.whilst(
function () { return icount < 5; },
function (callback) {
console.log("inner count:" + icount);
icount++;
setTimeout(callback, 1000);
},
function (err) {
// 5 seconds have passed
console.log("in out");
outer_callback(); // <--- here
}
);

count++;


},
function(err){
console.log("out out");
}
);

async.whilst 不是阻塞的,这意味着所有 5 个都计划同时运行。

我所做的更改是,现在在代码中,外循环迭代仅在内循环迭代完成时才完成。

关于javascript - 使用 async.js 的嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32130714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com