0
node.js를 배우고 있는데 문제가 있습니다. 함수에서 변수로 데이터를 가져 오는 방법은 무엇입니까?함수에서 변수로 데이터를 가져 오는 방법
function loadOrInitializeTaskArray(file, cb) {
fs.exists(file, function(exists) {
var tasks = [];
if (exists) {
fs.readFile(file, 'utf8', function(err, data) {
if (err) throw err;
var data = data.toString();
var tasks = JSON.parse(data || '[]');
cb(tasks);
})
} else {
cb([]);
}
})
}
function listTasks(file) {
loadOrInitializeTaskArray(file, function(tasks) {
for (var i in tasks) {
console.log(tasks[i]);
}
})
}
기능 listTasks이 제대로 작동하지만 나는 예를 들어 customListTasks를 들어, 자신의 함수를 만들 싶습니다
function customListTasks(file) {
var list = loadOrInitializeTaskArray(file, function(){});
console.log(list);
}
이 나에게 오류를 반환하지,하지만 "정의되지 않은"저를 반환 목록에 CONSOLE.LOG. 이 데이터를 어떻게 변수 목록으로 가져올 수 있습니까?
Bluebird 코 루틴 기능을 사용하면 약속을 낼 수 있습니다. –
http://stackoverflow.com/questions/5010288/how-to-make-a-function-wait-until-a-callback-has-been-called -using-node-js –
비동기 결과를 동 기적으로 가져올 수는 없습니다. 비동기 적으로 가져와야합니다 (콜백, 약속). – trincot