나는 이것이 실종 된 간단한 것이기를 바라고 있습니다. 그러나 나는 원하는대로 데이터를 반환 할 수 없습니다. 내 함수 로그인은 사용자 이름을 사용하고 데이터베이스의 XY 좌표와 함께 인증을위한 비밀번호와 ID를 반환합니다.의존적 약속 반환
XY 좌표는 로그인 쿼리에서 반환 된 ID에 따라 달라지며 인증을 위해 주 기능으로 모두 Promise
으로 반환됩니다. 그러나, 나는 모든 데이터를 멋지게 짜여진 하나의 객체로 반환하는 것을 보지 못했습니다.
function login(user) {
var query = 'SELECT password,id FROM player WHERE name='+mysql.escape(user);
return db.select(query).then(function(rows) {
console.log(rows);
return Promise.all([
getX(rows[0].id),
getY(rows[0].id)
]);
});
}
이 로그 :
[ { password: 'nopasswordforu', //<-- not a real password
id: 9 } ]
[ [ { x: 32 } ], [ { y: 36 } ] ]
암호는 콘솔 문이 아닌 반환에서 로깅됩니다. 반환되는 유일한 것은 xy
좌표입니다. 함수가 반환하는 것과 동일한 Promise에서 쿼리 결과를 반환하려면 어떻게해야합니까?
언제나 여러분의 의견을 듣기 좋습니다. - 그러나 db.select는 단지 커스텀 기능이기 때문에 이미 비동기입니다. –
@RUJordan ok : P heh – Esailija
이상하게도, 코멘트에 태그를 붙이지 않을 것입니다. 나는이 한 발을 줄거야, 많이 바쁘다 고 고마워! –