如何使用 module.exports 导出异步函数

我无法将异步函数的结果返回到我正在调用的路由。我怎样才能成功地做到这一点?


我正在尝试从文件 token_generator.js 导出令牌并使用 Express 在路由 ('/') 上显示它。我从其他文件导入函数。


const tokenGenerator = require('./src/token_generator'); 

我有一个简单的方法来调用该函数输出。


app.get('/', async function (request, response) {

  const identity = request.query.identity || 'identity';

  const room = request.query.room;

  response.send(tokenGenerator(identity, room));

});

在我的 token_generator 中,我使用 async/await 来检索和生成令牌。我在导出之前记录它并显示在我的控制台中,但从未访问过网页。


async function tokenGenerator(identity, room) {


  const token = new AccessToken(

    process.env.TWILIO_ACCOUNT_SID,

    process.env.TWILIO_API_KEY,

    process.env.TWILIO_API_SECRET

  );


  let grant = new VideoGrant();

  token.identity = Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 8);

  grant.room = await getRoomId(room);

  token.addGrant(grant);

  console.log(token.toJwt());

  return await token.toJwt();

}


module.exports = tokenGenerator;

如何让令牌显示在网页上?我之前有一个工作版本,代码非常相似 - 但想使用 async/await 作为比我以前的代码更好的实践。我想一定有不同的方式来调用 Express 中的函数吗?谢谢


慕尼黑的夜晚无繁华
浏览 661回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript