Я хочу сделать очень простой код, где у меня есть два вложенных цикла в javascript, которые распечатывают индекс, в котором они сейчас находятся. (это база для чего-то еще, что я хочу сделать). Внутренний цикл имеет таймер, поэтому он должен подождать 1 секунду перед печатью каждого номера.Вложенные циклы с использованием async.js
Я ожидал бы этот вывод:
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
и т.д., но это не происходит. Есть ли какая-то очевидная ошибка в моем коде? могут асинхронно, хотя функции даже вложены? пожалуйста помоги! :(
Это мой код до сих пор:.
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");
}
);
Вызов 'callback' в асинхронном обратном вызове? – Bergi