javascript - 如何将函数与await分开

标签 javascript node.js adonis.js

我刚刚从 php 切换到全职 js。我尝试在 javascript 函数中清理代码,但仍然困惑如何处理它

for(let i in allEmpData) {
    let emp = allEmpData[i]
    if(empData == null) {
      const addEmp = new Employee()
      this.addEmpFn(addEmp, emp)
    }
    if(empData != null) {
      this.addEmpFn(empData, emp)
    }
 }

我调用函数addEmpFn,因为我将创建/更新代码放在其中,这是我的函数addEmpFn

 addEmpFn(empData, emp) {
    empData.name = emp.name
    return await empData.save()
  }

错误说:

意外的 token 返回等待

我想做这样的事情,但是在干净的代码中,单独的函数

 for(let i in allEmpData) {
    const empData =  await Employee.query()
                                  .where('id',1)
                                  .first();
    let emp = allEmpData[i]
    if(empData == null) {
      const addEmp = new Employee()
      addEmp.name = emp.name
      return await empData.save()
    }
    if(empData != null) {
      empData.name = emp.name
      return await empData.save()
    }
 }

最佳答案

您需要将函数分配为异步,如下所示:

async addEmpFn(empData, emp) {
    empData.name = emp.name
    return await empData.save()
}

关于javascript - 如何将函数与await分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55294231/

相关文章:

javascript - 闭包中的变量存储在哪里 - 堆栈还是堆?

javascript - 在 Node.js 代理后面使用虚拟主机运行 Apache

yarnpkg - yarn 全局安装 : "adonis: command not found"

node.js - 延迟事件直到调用回调 (Node.js)

node.js - AdonisJs 多对多迁移解决方案

mysql - 使用 'with' 查询数据库并没有得到预期结果

javascript - 您如何为选择字段重新填充动态生成的选项?

javascript - vite 中的 Node.js 核心模块作为 webpack 后备

javascript - 如何在 Phonegap 3.0 的 InnApp 浏览器中获取当前 url

node.js - Mongoose 聚合查询跳过 getter