Я пытаюсь создать веб-страницу. У меня есть функция, которую я вызываю, чтобы получить всю информацию, необходимую для домашней страницы человека. Фрагмент кода является:Как установить переменную перед обратным вызовом?
exports.getHomePageData = function(userId, cb) {
var pageData = {};
pageData.userFullName = dbUtil.findNameByUserId(userId, function(err){
if (err) cb(err);
});
pageData.classes = dbUtil.findUserClassesByUserId(userId, function(err){
if (err) cb(err);
});
cb(pageData);
}
Проблема у меня в том, что cb(pageData)
вызывается прежде, чем я даже закончить установку элементов.
Я видел, что люди используют асинхронную библиотеку для решения этой проблемы, но мне было интересно, не было ли у меня другого способа сделать это, не требуя больше модулей.
Что 'findNameByUserId' и' findUserClassesByUserId' вернуться? С первого взгляда они выглядят как асинхронные функции, нет? – raina77ow