我有一个同步中间件来授权角色。设置如下:
路线:
router.get("/test", [authorizeRole("tier1", "tier2")], function(req, res) {})
中间件:
module.exports = function authorizeRoles(...role) {
return (request, response, next) => {
//authorize
};
};
这正在工作。现在,我想更改中间件以使其异步。
我不知道如何使中间件异步。我尝试过:
module.exports = async function authorizeRoles(...role) {
return await (request, response, next) => {
//authorize
};
};
module.exports = async function authorizeRoles(...role) {
return await async (request, response, next) => {
//authorize
};
};
但没有任何效果。
如何使中间件异步?
答案 0 :(得分:1)
我不确定我是否完全理解您的问题。要使用await
,您需要使用async
关键字声明函数,这样就可以了
module.exports = function authorizeRoles(...role) {
return async (request, response, next) => {
// now you can use `await` here
};
};