跳到主要内容

认识

2023年05月31日
柏拉文
越努力,越幸运

一、认识


二、对比


2.1 Koa VS Express

Koa1:

  1. Koa1 基于 ES6Generator , 因此可以使用 Generator 处理异步。

Koa2:

  1. Koa2 基于 ES6Promiseasync/await, 因此可以使用 async/await 以同步的方式处理异步。

  2. next 实现机制: 内部实现通过 Promise.resolve(fn(context, dispatch.bind(null, i + 1))); 执行 next , 所以 next 可以很好的支持异步操作, 也可以使用 await 等使其变为同步执行拿到最后结果

Express:

  1. Express 基于 ES5 实现, 要实现异步,需要回调。如果异步嵌套层次过多,代码会变得很臃肿。

  2. next 实现机制: 内部实现通过 next() 直接执行, 所以 next 在有异步操作的时候不会处理结果,所以对有异步的操作不是特别好