繁体   English   中英

来自函数内部函数的javascript / node.js回调数据

[英]javascript/node.js callback data from function inside a function

我不确定如何从函数内部的函数中获取数据回调/返回。

我想将来自processData函数的处理后的数据作为回调传递,并返回此bufferData用作输入其他函数。 目前,bufferData无法从processData函数返回,因为它是从遍历函数中调用的。 代码如下:

function processData(obj, key, value){
    var newobj=obj[key][0];
    obj[key].push(newobj);
    fs.readFile(__dirname + '/' + inFile, 'utf8', function(err, res) {
        if (err) return console.log(err);
          var data = JSON.parse(res);
          data.key=obj;
          bufferData=JSON.stringify(data);
          **callback(bufferData);** (not sure how to code it to return this bufferData)
}); }

function traverse(obj, func) {
  for (var key in obj) {
    func(obj, key, obj[key]);
    if (obj[key] !== null && typeof(obj[key])=="object") {
        traverse(obj[key], func);
    }       
} }

traverse(data, processData);

从回调返回任何数据确实没有任何意义。

您可以只向processData添加一个回调函数,然后在readFile回调中调用它。

否则,您可以使用fs.readFileSyncfs.readFileSync可以同步获取文件数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM