猿问

koa中,async/await 如何阻塞?

问题描述

需要输出结果为1,2,3
在输出3之前阻塞执行,等待2

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

const Koa = require("koa");const app = new Koa();
app.use(async (ctx, next) => {    console.log(1);    await next()    console.log(3);
});
app.use(async (ctx, next) => {
    setTimeout(() => {        console.log(2);
    }, 2000);
});
app.listen(3001);console.log('http://localhost:3001')

你期待的结果是什么?实际看到的错误信息又是什么?

期望能按照1,2,3的顺序输出


红糖糍粑
浏览 847回答 1
1回答

婷婷同学_

const Koa = require("koa");const app = new Koa(); app.use(async (ctx, next) => {    console.log(1);    await next()    console.log(3); }); app.use(async (ctx, next) => {    return new Promise((resolve, reject) => {         setTimeout(() => {          console.log(2);           resolve();         }, 2000);     }) }); app.listen(3001);console.log('http://localhost:3001')
随时随地看视频慕课网APP

相关分类

Node.js
我要回答