请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于 next 函数使用 await 的问题

以下代码最终的会得到 not found,在 next() 前加个 await/async ,就有返回结果了,原因是什么?next() 本身就会返回一个promise,不用 await/async 包装第二个中间件,next 就不用加await,搞不清楚这一块

const middle1 = (ctx, next) => {
	console.log('middle1 step1');
	next();
};

const middle2 = async (ctx, next) => {
	console.log('middle2 step1');
	const res = await axios.get('http://121.4.100.140:9091/info/1');
	ctx.body = 'middleware2' + res.data.data.name;
};

正在回答 回答被采纳积分+3

1回答

coder_monkey 2023-09-14 20:33:15

async await 异步处理方案可以了解一下

0 回复 有任何疑惑可以回复我~
  • 提问者 Richard学python #1
    我知道async/await,我这里不懂得点是,为什么在第二个中间件不使用异步得时候,第一个中间就不用异步处理。应该是跟next()函数有关,我也看了网上得资料,还是迷迷糊糊得
    回复 有任何疑惑可以回复我~ 2023-09-14 22:59:53
  • coder_monkey 回复 提问者 Richard学python #2
    因为第二个有异步任务
    回复 有任何疑惑可以回复我~ 2023-09-15 09:06:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信