如何在变量中的node.js中获取回调值

时间:2013-04-09 09:35:54

标签: node.js

这是我的代码。

var fs = require('fs')
var test = readafile('file.txt', function(returnValue) { 
    console.log(returnValue); 
    test = returnValue;
});

console.log(test);

function readafile(filepath,callback){
    var attachment_path = filepath;
    fs.readFile(attachment_path, function(err,data){
        var attachment_encoded = new Buffer(data, 'binary').toString('base64');
        callback(attachment_encoded);
    }); 
}

因为如果我需要在变量测试中返回该函数的值意味着如何实现它?

在那个console.log(测试)中,它表示未定义。 因为它是一个回调函数。 如何正确使用?

1 个答案:

答案 0 :(得分:1)

你真的不希望用异步代码获得同步行为(比如获取返回值)。您可以使用fs.readFileSync来避免异步方面或仅在回调中使用您的值 否则,async模块可以帮助您。