在循环中使用回调的方法是什么?

时间:2017-06-15 17:48:01

标签: javascript callback

我一直在尝试学习回调函数,我花了几天时间,但是我找不到在嵌套循环中使用回调的工作示例。 我在这里提供了一个示例代码,其中应该为每个值推送数据。但是它只返回一个空数组。

我希望数据有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)值的数组 提前谢谢。

1 个答案:

答案 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();

这是我开发的示例代码,因为我不得不花费大量时间来理解回调是什么,因为这个术语让我感到困惑。然后我尝试使用这种方法希望它有所帮助。