我一直在尝试学习回调函数,我花了几天时间,但是我找不到在嵌套循环中使用回调的工作示例。 我在这里提供了一个示例代码,其中应该为每个值推送数据。但是它只返回一个空数组。
我希望数据有i值,j次,而循环不同步。所以返回一个空数组
我将在项目中使用这个概念,其中超时将被sqlite insert和select替换。这是一个例子,只是为了知道如何在循环中使用它。
var data = [];
for(var i = 0;i<100;i++) {
loop(i);
}
function loop(i) {
for(var j =0;j<200;j++) {
p(i);
}
}
function p(val) {
setTimeout(function(){
data.push(val);
},10)
}
console.log(data);
Here is the example of a working fiddle.
This question is similar to mine 但我无法理解如何在我的情况下使用它。
我只想在数据变量中获得具有(iXj)值的数组 提前谢谢。
答案 0 :(得分:1)
var i = 0;
var length = 10;
function for1() {
console.log(i);
for2();
}
function for2() {
if (i == length) {
return false;
}
setTimeout(function() {
i++;
for1();
}, 500);
}
for1();
这是我开发的示例代码,因为我不得不花费大量时间来理解回调是什么,因为这个术语让我感到困惑。然后我尝试使用这种方法希望它有所帮助。