首页 > 解决方案 > 异步/等待错误返回 Promise {}

问题描述

请帮助我,输出显示1或0的方式是什么

const checkDataFail = async () => {
    const result = await conn.promise().query("SELECT * FROM data WHERE id = '10'")
        .then( ([rows,fields]) => {
        return rows && rows.length ? "1" : "0";
    })
    .catch(console.log);

    return result;
}

console.log(checkDataFail());

输出:承诺 { <pending> }

标签: node.jsasync-awaitmysql2

解决方案


这很简单,你的函数是一个异步函数,也就是说它总是返回一个承诺。

在输出到控制台之前,您必须得到await响应。

(async function() {
    console.log(await checkDataFail())
})()

推荐阅读