javascript - 在循环中使用回调的正确方法?

标签 javascript callback

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

我希望数据有 i 个值,j 次,而循环不能同步工作。所以返回一个空数组

I'll be using the concept in project where timeout will be replaced by sqlite insertion and select.This is an example just to know how to use it within loops.


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) 值的数组
提前致谢。

最佳答案

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


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

关于javascript - 在循环中使用回调的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44573827/

相关文章:

javascript - Rails + Jasmine-Ajax : what is the correct way to test code triggered by `ajax:success` (jquery-ujs)

javascript - 从 randomUser.me api 输出大写名称?

android - 在 Twitter 上允许该应用程序后未找到 Oauth 回调

javascript - Json Rpc 回调函数

javascript - Passport Strategy中的 "done"回调函数是什么配置 "use"函数

javascript - 返回具有相同属性的函数对象或匿名对象

javascript - 使用 TypeScript 和 Promises 异步加载/卸载内容

javascript - 可以让 jquery 点击事件在所有其他点击事件之后执行吗?

Javascript:回调中的变量范围?

c++ - 我需要在这个函数前加上 __stdcall 前缀吗?