我很难在 Node.js 中链接函数,我无法让接收者等待。 promise 不应该是异步的,因此适合这样的任务吗?
const promise = new Promise((resolve, reject) => {
var input = 'SELECT * FROM ideas;';
connection.query(input, (err, results) => {
if(err) {
console.log(err);
reject();
} else {
console.log('success');
results = JSON.stringify(results);
console.log(results);
resolve();
return results;
}
})
});
promise.then(function(results) {
results = JSON.parse(results);
console.log(results);
});
我希望有人知道我在这里缺少什么并可以提供帮助!
最佳答案
You only need to add
results
toresolve
anderr
toreject
.
例如,您可以使用下面的代码:
const promise = new Promise((resolve, reject) => {
var input = 'SELECT * FROM ideas;';
connection.query(input, (err, results) => {
if(err) {
reject(err);
} else {
console.log('success');
results = JSON.stringify(results);
console.log(results);
resolve(results);
}
})
});
promise.then(function(results) {
results = JSON.parse(results);
console.log(results);
}).catch(error => {
console.log(error);
})
关于javascript - Node.js 中的异步查询、等待和 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60006551/