认识
2023年05月31日
一、认识
二、对比
2.1 Koa VS Express
Koa1
:
Koa1
基于ES6
的Generator
, 因此可以使用Generator
处理异步。
Koa2
:
-
Koa2
基于ES6
的Promise
和async/await
, 因此可以使用async/await
以同步的方式处理异步。 -
next
实现机制: 内部实现通过Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
执行next
, 所以next
可以很好的支持异步操作, 也可以使用await
等使其变为同步执行拿到最后结果
Express
:
-
Express
基于ES5
实现, 要实现异步,需要回调。如果异步嵌套层次过多,代码会变得很臃肿。 -
next
实现机制: 内部实现通过next()
直接执行, 所以next
在有异步操作的时候不会处理结果,所以对有异步的操作不是特别好