前端异步解决方案

四种异步解决方案

1、回调函数

回调简单地理解为一个函数作为参数传递给另一个函数,回调是早期最常用的异步解决方案之一
缺点:代码不优雅,可读性差,不易维护,耦合度高,层层嵌套造成回调地狱

2、Promise(es6)

Promise是一种异步编程的解决方案。简单来说,Promise 就是对异步的执行结果的描述对象
优点:
  • 支持多个并发请求,获取并发请求中的数据
  • 提升代码可读性(异步嵌套,形成回调地狱,可读性差)
缺点:
  • 依然链式调用then
  • 无法取消promise
  • Promis.all需要控制并发数,否则出现性能问题
异常穿透:在promise末尾添加catch,前面任何一个请求失败,都可以在catch中捕获
 

3、Generator(es6)

Generator其实就是一个函数,只不过是一个特殊的函数。Generator 的特别之处在于它可以中途停止
优点:优雅的流程控制方法,允许函数被中断地执行。
缺点:Generator函数的执行必须依赖executor,对于只做异步处理还是不太方便。

4、async/await(es8)

优点:
  • 减少回调函数嵌套,提升了代码可读性
缺点:
  • 只能串行,不能并发请求
误用 await 可能会导致性能问题,因为 await 会阻塞代码。
posted @   alisa.huang  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示