一直以来觉得异步操作在我心头像一团迷雾,可是它重要到我们非学不可,那就把它的面纱解开吧。
ES6 诞生以前,异步编程的方法,大概有下面四种。
异步:简单的说:执行顺序不是一次连续完成的,中间加入了其他的程序运算,等第一阶段准备好了数据,再返回来进行计算。
来看看阮一峰老师es6入门中讲的的
反复读几遍,真的就完全了解了什么是异步。
Promise是异步编程的解决方案,所谓Promise,简单说就是一个容器,里面保存着未来会结束事件的结果(也就是异步操作的结果),Promise是一个对象,从它可以获取异步操作的信息。
基于上面读取文件和处理文件的例子而已,Promise充当的角色就是,“再接着执行任务的第二段(处理文件)”,处理文件就可以看出一个大的盒子,Promise要做到事情就是操作信息,保存执行的结果。
特点
- 有三种状态panding(进行中),fulfilled(已成功)和
rejected
(已失败),状态不受外界影响 - 一旦改变状态就不会在变(resolved(定型))
panding >>>fulfilled
panding>>>rejected
优点
有了Promise
对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数
缺点
基本用法
分享一段实际开发中的代码,在结合理论知识,估计你就知道了基本用法,和内置方法是如何使用了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。