《浅谈我眼中的express、koa和koa2》好文留存+笔记
2024-10-15 17:34:03
原文 :三英战豪强,思绪走四方。浅谈我眼中的express、koa和koa2
一、回调大坑怎么解决呢?
1、es5可以利用一下第三方库,例如 async 库,
2、或者单纯使用 connect中间件 提供的 next 功能来处理,
3、还可以利用 promise 来处理回调大坑。当然,单纯使用promise可能给自己带来另外一个大坑,then大坑,或者叫pipe大坑,无数个then,想想也是够恐怖的。
4、另外,还可以使用node自带的 事件模块 来处理回调问题,利用事件代理(我记得是backbone的一个模块)来简化代码书写。关于事件模块,我之后会写个小专题,来说说node的事件原理。不过,虽然提到了事件模块,但是,我不推荐用事件去处理回调嵌套,因为,需要写更多的代码,得不偿失
二、Generator函数和yield语句是一对好基友,如果没有yield语句的话,Generator函数只不过是暂缓执行的状态机而已。通过配合yield,Generator 函数就可以暂停执行和恢复执行,从而将其内部封装的异步函数变为同步执行
当然 Generator函数还有些滥用之嫌,ES官方组织对于Generator函数是不满意的。于是在ES7规范中,捣鼓出来了 async/await 这个目前为止,异步回调最佳的解决方案。
async/await规范是Generator函数+yield语句的语法糖
最新文章
- CSS详细样式
- Unity(一)介绍与基本使用
- 将decimal类型的数据转成2.12这样价钱的显示方式
- Mac说——关闭SIP
- Azure Powershell对ASM资源的基本操作
- Think with Google 京东如何玩转TensorFlow?
- 使用redis 中的事务处理实现商品秒杀
- 【代码笔记】Web-ionic checkbox(复选框)
- CI框架 -- 核心文件 之 Common.php
- 可以运行的Oracle Advanced Queue的例子
- 第十篇:基于TCP的一对回射客户/服务器程序及其运行过程分析( 上 )
- hive表分区的修复
- coderfun-boot接私活利器,文档详实,非一般的开发速度
- Java入门系列-27-反射
- HDU 2005 第几天?(闰年判断)
- 一次应用js文件时遇到的怪异现象
- Hibernate中多对多的annotation的写法(中间表可以有多个字段)
- 挖一挖C#中那些我们不经常使用的东西之系列(4)——GetHashCode,ExpandoObject
- Arcgis SOE学习
- [poj]1050 To the Max dp