我无法将异步函数的结果返回到我正在调用的路由。我怎样才能成功地做到这一点?
我正在尝试从文件 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 中的函数吗?谢谢
相关分类