安装
npm i koa -S
开始
const Koa = require('koa')
const app = new Koa()
app.use(async(ctx) => {
ctx.body = 'hello koa'
})
app.listen(3000)
什么是ctx
ctx就是封装了request和response的上下文
什么是next
下一个中间件
什么是app
启动应用
中间件
中间件是一种洋葱圈的模型,当你从中间件1next到了中间件2,最终你还将回到中间件1
const Koa = require('koa')
const app = new Koa()
app.use(async(ctx, next) => {
ctx.body = '1'
next()
ctx.body += '2'
})
app.use(async (ctx, next) => {
ctx.body += '3'
next()
ctx.body += '4'
})
app.use(async (ctx, next) => {
ctx.body += '5'
next()
ctx.body += '6'
})
app.listen(3000)
结果为135642,next的作用就是执行下一个中间件
async await
解决callback hell
一个Promise的例子
const ajax = (word) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(word)
}, 1000);
})
}
ajax('you')
.then(res => {
console.log(res)
return ajax('me')
})
.then(res => {
console.log(res)
})
async + await的例子
async + await一定要一起使用
async function start() {
const word1 = await ajax('you')
console.log(word1)
const word2 = await ajax('me')
console.log(word2)
const word3 = await ajax('him')
console.log(word3)
}
start()