使用具有功能的asyncawait模块

时间:2018-03-09 18:16:47

标签: javascript node.js

我正在使用模块asyncawait(因为我的节点版本在服务器上不够高,无法使用真正的异步/等待)。 我有以下函数使用await函数:

function getNextParticipant(req, res) {
    let nextThreeUsers = await(getNextThreeUsersInQueue())
    // other things done here
}

在我将此功能作为Express路由器端点的一部分之前,我将其包装在async(...)中,如下所示:

router.get('/getNextParticipant', async((req, res) => {
    let nextThreeUsers = await(getNextThreeUsersInQueue())
    // other things done here
}))

但我想在多个端点上使用它。所以我试着这样称呼它:

router.get('/getNextParticipant', (req, res) => {
    return async (getNextParticipant(req, res))
})

这似乎不起作用......这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我通过将getNextParticipant更改为这样来解决它,然后它起作用了:

var getNextParticipant = async((req, res) => {
    // ...
})