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

标签 javascript node.js function callback

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

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

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.readFileSync,这样您就可以同步获取文件数据。

关于javascript/node.js 从函数内部的函数回调数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42429478/

相关文章:

javascript - 为什么 Object.getOwnPropertyDescriptor({}, '__proto__' ) 返回未定义?

javascript - 配置 ng-token-auth 时出现未知提供者错误

javascript - 全日历 View 显示 goToDate 中断上一个、下一个和今天

javascript - 删除在 div 外部单击的功能

php - 从当前函数中取消设置所有已定义的变量

JavaScript: function myFunction(**这是什么**);

node.js - 在 Node v5 上使用 sqlite 方言进行 Sequelize

node.js - 使用 req.param 获取 url 值

javascript - 使用xml2js的xml解析问题

python - 错误 : [only length-1 arrays can be converted to Python scalars] when changing variable order