/ / Як отримати значення зворотного виклику в node.js у змінній - node.js

Як отримати значення зворотного виклику в node.js в змінній - 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 (test) він говорить невизначеним. оскільки це функція зворотного виклику. Як правильно її отримати?

Відповіді:

1 для відповіді № 1

Не можна сподіватися на синхронну поведінку (наприклад, повернення значення) з асинхронним кодом. fs.readFileSync щоб уникнути асинхронного аспекту або просто використати своє значення у зворотному виклику.
В іншому випадку асинхронний модуль може допомогти вам.