我将使用pg-pool来查询Postgresql数据库,然后将这些数据导出到Node.js Express Rest API。以下是我的导出函数。
如果我在getLatestLanguages()返回results.rows之前放置
然而,该对象没有被返回给fetchData。我通过在返回数据到exports.getDashboard()之前将returnData记录到控制台来测试它。
我认为我的问题与pg-pool的异步性有关,因此我尝试使用await使我的函数异步,但这并没有帮助。
我做错了什么?
exports.getDashboard = function(req, response, next) {
let returnData = fetchData();
return response.status(200).json(returnData);
};
调用fetchData();
fetchData = async function() {
let returnData = [];
returnData.languages = await getLatestLanguages();
return returnData;
};
调用哪个函数可以获取最新的语言版本?
getLatestLanguages = function() {
pgPool.pool.query(
'SELECT * FROM "WordLanguage" ORDER BY id DESC LIMIT 30 ;',
(error, results) => {
if (error) {
throw error;
}
return results.rows;
}
);
}
如果我在getLatestLanguages()返回results.rows之前放置
console.log(results.rows)
,那么我会在控制台中看到数据记录。然而,该对象没有被返回给fetchData。我通过在返回数据到exports.getDashboard()之前将returnData记录到控制台来测试它。
我认为我的问题与pg-pool的异步性有关,因此我尝试使用await使我的函数异步,但这并没有帮助。
我做错了什么?