NodeJS异步可重用函数调用

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (80)

我在开发自己的Node.JS应用程序时遇到了一些问题。我是这种代码架构的新手,对异步也不太好。

我目前在index.js脚本中有一个事件,调用另一个脚本database.js 。此数据库脚本将处理我的应用程序内的每个db调用。

我想为我的database.js脚本使用一些“导出”函数:

index.js

module.exports.userjoinedFunction = userjoinedFunction;

我计划在我的“userjoinedFunction”中添加其他函数调用。例如:首先建立数据库连接 - >第二次检查用户是否已经在数据库内 - > 3d如果没有,则创建用户输入 - > 4如果是,请执行欢迎回复消息。由于我必须多次建立数据库连接,我想在这些函数中重用一些代码,如下所示:

database.js

function userjoinedFunction(username){
   Init_database_connection();
   if(UserAlreadySignedup(username)){
      WelcomeMessage(username);
   }
   else {
      AddUserToDatabase(username);
   }
}

但显然我做错了,因为异步Node.js应用程序不能那么简单......我怎样才能拥有那种类型的可重用架构?你有关于这个主题的文章吗?

非常感谢您的帮助 !

提问于
用户回答回答于

您需要在函数中使用async / await。所以新代码看起来像:

async function Init_database_connection(){...}
...

async function userjoinedFunction(username){
   await Init_database_connection();
   if(await UserAlreadySignedup(username)){
      return WelcomeMessage(username);
   }
   return AddUserToDatabase(username);

}

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励