封装异步操作的方法

1、回调函数:js语言对异步编程的实现,就是回调函数,通过把任务的第二阶段单独放在一个函数里,等到执行这个任务时,直接调用。

缺点:多层嵌套时,代码横向发展,形成强耦合,若需要修改操作时就会形成“回调函数地狱”

2、promise:可以解决回调函数多层嵌套的问题,是一种新的写法,允许将回调函数的嵌套改成链式调用,来读取多个文件。then方法将异步操作的两段执行明确拆分。

缺点:代码冗余,一串then方法,语义变得不清楚

3、Generator:最大的特点就是“暂停机制”,将生成器函数与promise对象结合使用,达到了书写形式上的“化异步为同步”,更具有语义化。

缺点:与async对比。

4、async:就是Generator函数的语法糖,本质上就是将generator函数和自动执行器进行了封装。解决了回调地狱,语义也更清晰,await命令后可以跟promise对象和原始类型的值(适用性更广),实现了将异步代码改造成同步代码。

缺点:如果多个异步代码没有依赖性确使用了async,会使代码性能降低。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值