繁体   English   中英

如何在.on事件node.js中调用异步函数

[英]how to call async function in .on event nodejs

我正在使用csv-parser npm模块createReadStream读取CSV文件。

export default async function main() {
  const readstream = fs.createReadStream('src/working_file.csv');
stream.on('data', data => {
const val = await fun(param1, param2, param3);
   });
  fun(param1, param2, param3){
    return true;
  }
}

我必须在等待时调用fun函数,但这会抛出错误。 await仅在异步功能中有效 谁能帮我解决这个问题?

只需指出回调函数是async

stream.on('data', async data => {
  // Do async stuff
})

您等待的功能必须返回承诺

export default async function main() {
  const readstream = fs.createReadStream('src/working_file.csv');
stream.on('data', async data => {
   try{
      const val = await fun(param1, param2, param3);
    } catch(err) {
    //handle error
    }

   });
  fun(param1, param2, param3){
    return new Promise((resolve, reject)=>{
         resolve(some_value)
    })
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM