代码拉取完成,页面将自动刷新
const Koa = require('./koa')
const app = new Koa;
//分逻辑来处理请求
//next表示执行下一个函数
//洋葱模型
const sleep = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log("sleep")
resolve()
}, 1000);
})
}
app.use(async (ctx, next) => {
console.log(1)
/**
* 需要等待 需要+ await
* 为了保证最外层的中间件 可以等待里层的中间件执行完毕 await next()/ return next()
*/
await next()
console.log(2)
ctx.body = "hello"
})
app.use(async (ctx, next) => {
console.log(3)
await sleep() //需要等待一秒 才能给body赋值
await next()
ctx.body = "world"
console.log(4)
})
app.use(async (ctx, next) => {
console.log(5)
await next()
console.log(6)
})
/**
* 这些中间件 会组合成一个大函数 = Promise 并且执行 执行完会采用ctx的结果
*/
app.on('error',function(e){
console.log(e,"-------------------------")
})
app.listen(3000)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。