无法将Node.js异步函数识别为有效的异步函数

丹尼尔斯:

我有这两个功能

async function movieExists(movie){
        return new Promise((resolve, reject) => {
            const sql = '...';

            con.query(sql, (err,result,fields) => {
                if(err)
                    throw err;
                else if(!result[0])
                    reject("Error");
                else
                    resolve(result[0].total);
            })
        })
}
async function addMovie(movie){
        return new Promise((resolve, reject) => {
            const sql = '...';
            const exists = await movieExists(movie); //Error on this line

            if(exists == 0){
                con.query(sql, (err,result,fields) => {
                    if(err)
                        reject("Error");
                    else   
                        resolve("Success");
                })
            }else
                resolve("Movie already exists");
        })
}

错误:语法错误:等待仅在异步功能中有效

节点版本-> v10.16.0

**如果您对代码本身有任何建议,我将很高兴听到他们的建议。

凯文·佩尼亚:

await关键字直接位于传递给的函数内部new Promise(),而不是异步的。

尝试将其移至该函数之外,如下所示:

async function addMovie(movie){
  const exists = await movieExists(movie);
  return new Promise((resolve, reject) => {
    const sql = '...';
    // ...
  })
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

itertools无法将numpy ints识别为Python 3.6上的有效输入

从异步函数向外部函数Node js返回值

为什么在Visual Studio 2019中无法将“ onpaste”识别为有效的javascript事件?

无法将字符串识别为有效的DateTime“格式dd / MM / yyyy”

Datetime.ParseExact“无法将字符串识别为有效的DateTime”错误

在异步函数Node.Js中调用的异步函数

Powershell脚本无法将ForEach-Object识别为有效的cmdlet

在C#中无法将字符串识别为有效的日期时间

尝试使用linq筛选数据时,无法将字符串识别为有效的DateTime

无法将字符串识别为有效的DateTime格式异常

在Node.js中循环异步函数

解析时无法将字符串识别为有效的DateTime

无法识别为有效的DateTime

Await仅在使用Node.js的异步函数中有效

使用提示/警报无法将JavaScript函数识别为函数

Node.JS异步函数永远运行没有结果

将日期写入C#-String中的图像元数据时出错,无法识别为有效的DateTime

无法将字符串识别为有效的DateTime c#

较旧的PC无法将Ubuntu Live CD识别为有效的启动媒体

无法将字符串识别为有效的DateTime

无法将字符串识别为DateTime.ParseExact的有效参数

无法将字符串识别为Datetime的有效解析字符串

DateTime.ParseExact无法识别为有效的DateTime

Node.JS函数返回异步回调函数的值

将现有函数声明为异步?

异步函数未被识别为异步

即使等待位于 Node.js 中的异步函数中,如何修复“await 仅在异步函数中有效”?

Node.js 异步函数并行执行?

`SyntaxError:await 仅在异步函数中有效`,同时尝试在 node rest api 中注册用户