为什么 Await 在异步函数中不起作用?

Sophistés 泰迪·肖卡

我正在尝试在异步函数中使用 await。Hwoever,我收到错误

语法错误:await 仅在异步函数中有效

我无法弄清楚问题出在下面的代码中。

insertPayrollAllowance: async function(companyId, jobId, basicSalary, employeeId, payrollId) {

        return new Promise((resolve, reject) => {
            sqlQuery = "SELECT * from tblJobAllowances Where tblJobAllowances.companyId = '" + companyId + "' and tblJobAllowances.jobId = '" + jobId + "' and deleterec = 0 order by id"
            db.executeQuery(sqlQuery, null, (err, result) => {
                if (err) {
                    reject(err);
                } else {

                    for (var i = 0; i < result.length; i++) {

                        var insStatus = false;
                        var allowanceId = result[i].allowanceId
                        var allowanceName = await this.getAllowanceName(companyId, allowanceId);
                        var amountType = result[i].typeOfAmount;
                        var amount = result[i].amount;
                        var amountCredited;
                        var taxable = result[i].taxable;

                        if ($.trim(amountType) == "FIXED AMT") {

                            amountCredited = parseFloat(amount.toString().replace(/,/g, ''));


                        } else if ($.trim(amountType) == "% Of Income") {

                            amountCredited = (parseFloat(basicSalary.toString().replace(/,/g, '')) / 100) * parseFloat(amount.toString().replace(/,/g, ''));

                        };

                        var info = {
                            companyId: companyId,
                            employeeId: employeeId,
                            payrollId: payrollId,
                            allowanceName: allowanceName,
                            amountType: amountType,
                            amount: amount,
                            amountCredited: amountCredited,
                            taxable: taxable
                        }

                        sqlQuery = "INSERT INTO tblPayrollAllowanceDetails SET ?"
                        db.executeQuery(sqlQuery, info, (err, result) => {
                            if (err) {
                                insStatus = false;
                            } else {
                                insStatus = true;
                            }
                        });

                    };

                    resolve(insStatus);

                }
            });
        });

    }

如果有人能指出为什么我会收到此错误,我会很高兴。任何帮助将不胜感激。

用户12948615

await 在另一个非异步函数中

 db.executeQuery(sqlQuery, null, (err, result) => {

它在这个箭头函数内 (err, result) => { 所以要修复它,只需像这样添加异步:

db.executeQuery(sqlQuery, null, async (err, result) => {

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的 await 在我的功能中不起作用?“语法错误:等待仅在异步函数中有效”

为什么await语句在新的Promise构造函数中不起作用

为什么 await 关键字在匿名函数中不起作用?

为什么 await 在等待代码完成时不起作用

JS 承诺:为什么 await 必须在异步函数中?

为什么“ await client.say()”在我的代码中不起作用?

不明白为什么我的异步等待在我的 lambda 函数中不起作用

带有 await/async 的异步函数调用在 angular 中不起作用

异步功能,但Await在NodeJS中不起作用

为什么异步管道不起作用?

为什么在我的情况下`async / await`不起作用?

为什么将await *从异步/等待建议中删除?

为什么我在构造函数中的绑定不起作用?

为什么此.slideToggle函数在jQuery中不起作用?

为什么默认参数在模板函数中不起作用?

为什么我的 scanf 在函数中不起作用?

为什么 onclick 函数在 html -angular 中不起作用

为什么 `eval` 在 Python 类函数中不起作用?

为什么exp函数在pyspark中不起作用?

为什么空赋值在函数中不起作用

为什么短路在python的“全部”函数中不起作用?

为什么Prolog中的min()函数不起作用?

为什么restore()在嵌套的延迟函数中不起作用?

React - 为什么 onClick 中的这个函数不起作用?

为什么python中的sum函数不起作用?

为什么replace()在我的Python函数中不起作用?

为什么 Logical Or 在我的函数中不起作用

为什么 if/else 语句在我的函数中不起作用?

为什么函数__construct在PHP中不起作用?