首页 > 解决方案 > 查询后找不到mysql记录时如何修复UnhandledPromiseRejectionWarning

问题描述

我的节点服务器上有这个 mysql 查询:

const memberdata = async function() {
 const adsess = await doquery('session_id','sessions','id',userid);
 const array = {userid : userid, adsess : adsess[0].session_id };
 return (array);
} memberdata().then(v => {
  myaddress = v.adsess;
}

但是,当我发送myaddress给客户端时,如果没有找到记录,那么我会在控制台上收到一个错误,显示 UnhandledPromiseRejectionWarning。

UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝编号:2)

我尝试这样做:

const adsess = await doquery('session_id','sessions','id',userid).catch(e => { console.log(e) });

但没有用。我怎样才能解决这个问题?

标签: mysqlnode.jsasync-await

解决方案


推荐阅读