Koa2

安裝

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

啟動應(yīng)用

中間件

中間件是一種洋蔥圈的模型,當(dāng)你從中間件1next到了中間件2,最終你還將回到中間件1

image.png
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)

結(jié)果為135642,next的作用就是執(zhí)行下一個中間件

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()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Koa 必須使用 7.6 以上的版本。如果你的版本低于這個要求,就要先升級 Node。 基本用法 Koa 提供一個...
    Gukson666閱讀 2,559評論 0 1
  • Koa 學(xué)習(xí) 歷史 Express Express是第一代最流行的web框架,它對Node.js的http進(jìn)行了封...
    Junting閱讀 2,936評論 0 0
  • 原文鏈接:http://m.itdecent.cn/p/6b816c609669 前傳 出于興趣最近開始研究k...
    懸筆e絕閱讀 7,362評論 1 11
  • 框架提出的背景 ES6/7帶來的變革 自ES6確定和ES7中async/await開始普及,Node的發(fā)展變得更加...
    宮若石閱讀 8,723評論 1 14
  • koa2 是由express原班人馬打造的新一代web后端框架,相比express koa2更輕,代碼也更優(yōu)雅擺脫...
    賤賤賤賤賤閱讀 17,600評論 1 8

友情鏈接更多精彩內(nèi)容