我想知道如何使异步函数在中间件中工作?通常在函数前面等待完成工作,但在中间件中似乎无法正常工作.
index.js:
const bob= require('../middleware/bob'); router.get('/',[bob(['channel1','channel2','channel3'])],async (req,res) => { console.log('3') })
中间件/ bob.js:
async function test(){ setTimeout(() => { console.log('1') },2000); } module.exports = function(channels){ return async(req,res,next) =>{ await test(); console.log('2') next(); } }
当我运行此代码时.它将写入控制台:2 3 1