【发布时间】:2022-12-08 06:26:04
【问题描述】:
是否可以在 Express.js 中调用另一个异步中间件内部的异步中间件?
每当我尝试这样做时,它都不会按照我希望的顺序执行。
我希望它们按顺序执行并输出 First, Second, Third。
谁能解释为什么或如何实现我想要的目标?
const first = async (req, res, next) => {
console.log('First');
next()
}
const second = async (req, res, next) => {
await first(req, res, next);
console.log('Second');
next();
}
router.get('/logs', second, async (req, res) => {
console.log('Third');
res.send('Done');
});
// Console Output:
// First
// Third
// Second
如果我不在second() 内执行first(),它工作得很好,但对于我正在做的事情,我希望能够在另一个内部执行中间件。
const first = async (req, res, next) => {
console.log('First');
next()
}
const second = async (req, res, next) => {
console.log('Second');
next();
}
router.get('/logs', first, second, async (req, res) => {
console.log('Third');
res.send('Done');
});
// Console Output:
// First
// Second
// Third
【问题讨论】:
标签: javascript node.js express asynchronous