js基础———解决异步的几种方法
javascript的异步方法
一、异步的形成原因
因为JavaScript是单线程编程语言 在执行过程中要一个方法执行才回去执行下一个 这样就会导致如果一个方法执行的时间过长 (死循环)就会导致页面卡死 用户体验极差 所以为什么解决这个问题 就衍生出了异步方法
二、目前解决异步的几种常见方法
1、promise
• 特点:common JS工作组提出的一种规范 目的是为异步编程提供统一接口
• 优点:将回调函数变成链式写法 方便代码阅读和理解功能强大 如果一个一个回调函数执行完成可以再继续添加 并且会理解执行
• 缺点:编程难度大
2、回调函数
• 特点:将同步操作变为异步操作,将阻碍程序运行的方法推迟 先进行主要逻辑程序
• 优点:简单 容易理解和部署
• 缺点:不利于代码阅读和维护 耦合度高 每个任务只能指定一个回调函数
3、事件监听
• 特点:任务执行不遵循代码顺序 而是取决于某件事件是否发生
• 优点:容易理解 可以绑定多个回调函数 低耦合 便于模块化管理
• 缺点:整个程序都要变成事件驱动型 流程及不清晰
4、async
• 特点:更加的方便 使用后会返回一个promise
• 优点:更加的方便和容易 继承了promise的所有特点
• 缺点:十分不语意话 封装的太好