Javascript 未处理的PromisejectionWarning:ReferenceError:verifyItemInStock未定义

Javascript 未处理的PromisejectionWarning:ReferenceError:verifyItemInStock未定义,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试创建一个辅助方法,以便在同一控制器内使用: module.exports = { async update(req, res) { // code here... // method call this.verifyItemInStock() // more code here ... }, // method declaration verifyItemInStock (itemId) { // more cod

我正在尝试创建一个辅助方法,以便在同一控制器内使用:

module.exports = {

  async update(req, res) {

    // code here...

    // method call
    this.verifyItemInStock()

    // more code here ...

  },

  // method declaration
  verifyItemInStock (itemId) {
      // more code...
  }

}
但我得到了以下错误:

(节点:31904)未处理的PromisejectionWarning:ReferenceError: 未定义verifyItemInStock 更新时(/home/netogerbi/workspace/zombieresistance/zombieresistance/app/controllers/trade.controller.js:34:5) (节点:31904)未处理的PromisejectionWarning:未处理的承诺 拒绝。此错误源于在异步 函数没有catch块,或者拒绝了 未使用.catch()处理。(拒绝id:1)(节点:31904)[DEP0018] 弃用警告:未处理的承诺拒绝被弃用。在里面 未来,未经处理的拒绝承诺将终止合同 具有非零退出代码的Node.js进程


删除
并使其更具可读性:

// method declaration
const verifyItemInStock = itemId => {
  // more code...
}

const update = async (req, res) => {
  // code here...
  // method call
  verifyItemInStock()
  // more code here ...
}


module.exports = {
  update,
  verifyItemInStock,
}
此外,承诺的消费者应该有一个陷阱:

import { update } from './my-module';

update(req, res).then(...).catch(...)
// or
try {
  const resolved = await update(req, res);
  // consume the resolved value
} catch (e) {
  // exception handling
}

我决议如下:

const update = async (req, res) => {

  // auxiliar method declaration
  verifyItemInStock = itemId => {
      // code...
  }

  // ...
  // method call
  const hasItems = verifyItemInStock(id)

}

非常感谢……

这对我来说很有用。你能添加解释你如何使用这个的代码吗。