I have a problem… I wanted to return “A” but The result was “B” I don’t know what to do Please help me
my code:
JavaScript
x
20
20
1
async function getID(){
2
3
let sql = 'SELECT * from id'
4
5
connection.query(sql, (err, rows) => {
6
if (err)
7
throw err;
8
9
console.log(rows)
10
return "A"
11
// return rows
12
13
})
14
return "B"
15
}
16
17
let list = getCredit();
18
list.then(console.log);
19
console.log(list)
20
My results
JavaScript
1
3
1
[2022/06/13 21:34:29.548] Promise { 'B' }
2
[2022/06/13 21:34:29.549] B
3
Advertisement
Answer
You are mixing here callback with promises. To reach what you want, wrap your function in a promise:
JavaScript
1
20
20
1
function getID(){
2
return new Promise((resolve, reject) => {
3
4
let sql = 'SELECT * from id'
5
6
connection.query(sql, (err, rows) => {
7
if (err){
8
reject(err)
9
}else{
10
resolve(rows);
11
}
12
})
13
14
})
15
}
16
17
let list = getCredit();
18
list.then(console.log);
19
console.log(list)
20