我似乎对功能有疑问。
这里是功能:
function position(serverid, con, member) {
con.query("SET @rank=0", (err, rows) => {
con.query(`SELECT @rank:=@rank+1 AS rank, serverid, id, xp FROM xp WHERE serverid = "${serverid}" ORDER BY xp DESC`, (err, rows) => {
let number = 0;
while (rows[number].id != member.id) {
number = (number + 1)
}
console.log(rows[number].rank) // logs "1"
let string1 = rows[number].rank
return string1
})
})
}
当我console.log(rows[number].rank
)时,它返回1
作为字符串,但是当我尝试return string1
时,它以未定义形式出现,为什么有什么主意?
image
编辑:经过一些测试,我发现这是返回string1的问题