我希望这是我所缺少的一件简单的事情,但我似乎无法按我的意愿返回数据。我的函数 login 需要一个用户名,并返回用于身份验证的密码和 id,以及来自数据库的用户 XY 坐标。
XY 坐标取决于登录查询返回的 ID,这些 ID 都作为 a 返回Promise
给 main 函数进行身份验证。但是,我看不到将所有数据返回到一个精心编织的对象中。
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 相同的方式返回查询结果?