我有一个简单的节点模块,它连接到一个数据库,并有几个函数来接收数据,例如这个函数:
Js:
import mysql from 'mysql';
const connection = mysql.createConnection({
host: 'localhost',
user: 'user',
password: 'password',
database: 'db'
});
export default {
getUsers(callback) {
connection.connect(() => {
connection.query('SELECT * FROM Users', (err, result) => {
if (!err){
callback(result);
}
});
});
}
};
该模块将以这种方式从不同的节点模块调用:
App.js:
import dbCon from './dbConnection.js';
dbCon.getUsers(console.log);
为了返回数据,我想使用承诺而不是回调。
到目前为止,我已经在下面的线程中读到了关于嵌套承诺的内容: 使用嵌套承诺编写干净代码,但是我找不到任何对于这个用例来说足够简单的解决方案。
使用承诺返回 result
的正确方法是什么?