Pet*_*r M 1 javascript postgresql node.js async-await
我试图从本地数据库获取值,但我所能得到的只是“Promise{<Pending>}”。这是我在互联网上找到的代码。下面的代码应该返回一个包含表行的结果对象,但我只是得到了承诺。
const getFromDB = async() =>{
return await pool.query('SELECT * FROM services');
};
Run Code Online (Sandbox Code Playgroud)
函数async总是返回一个承诺。该承诺的解析值是函数中的代码返回的任何值。因此,要从该承诺中获得价值,您可以使用await或.then();
getFromDB().then(val => {
// got value here
console.log(val);
}).catch(e => {
// error
console.log(e);
});
Run Code Online (Sandbox Code Playgroud)
JavaScript 中没有免费的午餐。异步获取的值只能从函数异步返回(通过回调或 Promise 或其他类似的异步机制)。
或者,如果调用者本身是异步函数,那么您可以使用await:
async function someOtherFunc() {
try {
let val = await getFromDb();
console.log(val);
} catch(e) {
// error
console.log(e);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12094 次 |
| 最近记录: |