-1
남자. js 콜백 리턴으로 일부 prolem을 해결할 수 없습니다. 그래서, 우리는 다음 FUNC 있습니다 : 나는 2 LVL 콜백에서 변수 행을 반환해야합니다nodejs 콜백에서 돌아 가기
//Функция получения контакт листа пользователя
function get_contact_list(data) {
//Берем ID пользователя, который к нам пытается обратиться исходя из SESSION_ID
conn.query('SELECT id FROM users WHERE session_id="' + data['auth'] + '" LIMIT 1;', function(err, res) {
if (err) {
console.log(err);
}
//Разбираем результат
res.fetchAll(function(err, row) {
if (err) {
console.log(err);
}
//А теперь, собсна, выбираем контакты
conn.query('SELECT u.id, u.sname, u.fname, u.nick FROM users as u LEFT JOIN contacts AS c ON c.dep_id = u.id WHERE owner_id =' + row[0].id + ';', function(err, res) {
if (err) {
console.log(err);
}
//Разбираем результат
res.fetchAll(function(err, row) {
if (err) {
console.log(err);
}
//TAKE row HEREOF
NEED_OUT = row;
});
});
});
});
return NEED_OUT;
}
을,하지만 난 글로벌 VAR을 만들거나 전역 개체에서 "행"을 작성하는 경우, 제대로 동작하지 않습니다. 나를 도와주세요 pls! 고맙습니다!
비록 다른 상황이지만 동기식 및 비동기 코드에 대해 배우려면 내 대답을 읽어야합니다. http://stackoverflow.com/a/14220323/218196. 'get_contact_list'가 콜백을 받아들이고 DB 쿼리의 결과를 전달해야합니다. –
나는이 코드의 가독성에 도움이 될 것이라고 생각한다. –
행 개체를 저장할 위치를 결정하십시오. 콜백 함수를 매개 변수로 항상 전달할 수 있으며 행 값을 매개 변수로 전달하여 호출 할 수 있습니다 – Tushar