node后端服务-二、koa

时间:2024-01-27 08:47:46

官方网址:https://koa.bootcss.com/

安装:

Koa 依赖 node v10.16.0 或 ES2015及更高版本和 async 方法支持。

npm install koa
npm install koa-router  // 路由
npm i -S koa-combine-routers  // 合并路由
优点:
  1. 简洁、只需通过添加中间件对数据处理
  2. async/await
  3. 丰富的中间件
缺点:
  1. 相对于 Express,Koa 的学习曲线较陡峭,需要开发者具备一定的 JavaScript 基础和异步编程经验。
  2. 由于 Koa 是一个相对较新的框架,因此社区和文档相对较少,可能会给开发者带来一些不便。
错误处理
app.use(async (ctx, next) => {
  try {
    await next();
  } catch (err) {
    ctx.status = err.statusCode || err.status || 500;
    ctx.body = {
      message: err.message
    };
  }
});
连接数据库

https://blog.csdn.net/weixin_41897680/article/details/130916005

实现异步
router.get('/', async (ctx, next) => {
  const a = await A()
  const b = await B()
  ctx.response.body = a + b
})

function A() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('A')
    }, 2000)
  })
}

function B() {
  return 'B'
}