node.js将值传递给异步模式下的变量

时间:2016-10-08 12:16:06

标签: node.js asynchronous

我的问题如下:

我有一个很好的文件夹爬虫功能,可以抓取文件的路径。我(我想)将这些文件用于测试目的。

1。)抓住文件 2.)做一些测试 3.)完成工作

这是我称之为的代码:

            walk(csvRoot, function(err, results){
            if (err) throw err;
            for (var i = 0; i < results.length; i++) {
                return results[i] // - not working
            }
        });

我的主要问题是,我真的想将结果传递给一个变量,它将这些路径作为一个数组包含在内,但到目前为止还没有运气。

变量返回为undefined,这就是我当前想要解决的问题。

你能告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

为什么在for循环中使用return?你期望什么回到那里?在任何情况下,如果您希望结果在walk函数范围之外可用,则它将不起作用。我认为你需要这样的东西:

function getFiles (csvRoot, callback) {
  walk(csvRoot, function (err, results) {
    if (err) {
      return callback(err);
    }

    return callback(null, results);
  });
}

getFiles(csvRoot, functions (err, files) {
  // @todo: check for error

  console.log(files);
});