ECMAScript 6入门 学习笔记
来源:互联网 发布:js基本语法 编辑:程序博客网 时间:2024/06/04 04:35
1.Promise介绍
Promise是抽象异步处理对象以及对其进行各种操作的组件
使用new Promise实例化的promise对象有三个状态,“has-resolution”成功时,“has-rejection”失败时,“unresolved”也就是promise对象刚被创建后的初始化状态
promise.resolve作为new Promise()的快捷方式,在进行Promise对象的初始化或者编写测试代码的时候非常方便
具有then方法的对象是thenable,可以使用Promise.resolve()将 thenable转换为一个promise对象
2.(1)绝对不能对异步回调函数(即使在数据已经就绪)进行同步调用
(2)如果对异步函数进行同步调用的话,处理顺序可能会与预期不符,可能会带来意料之外的后果
(3)对一部回调函数进行同步调用,还可能导致栈溢出或异常处理混乱等问题
(4)如果想在将来某一时刻调用异步回调函数的话,可以使用setTimeout等异步API
3.Promise#then 不仅仅是注册一个回调函数那么简单,他还会将回调函数的返回值进行变换,创建并返回一个promise对象
4.Promise.all(promise对象数组).then(fn)这时候会将所有的Promisedui对象组成一个数组,在所有的通信完成之后(变为fulfilled或rejected状态之后),才会调用.then方法。
传递给Promise.all()的Promise数组是同时开始执行的。
4.Promise.race(promise对象数组).then(fn)这时候会将所有的Promisedui对象组成一个数组,在其中任何一个Promise对象的通信完成之后(变为fulfilled或rejected状态之后),才会调用.then方法。
传递给Promise.race()的Promise数组是同时开始执行的。
5.使用promise.then(onFulfilled, onRejected) 的话
在 onFulfilled 中发生异常的话,在 onRejected 中是捕获不到这个异常的。
6.在 promise.then(onFulfilled).catch(onRejected) 的情况下
then 中产生的异常能在 .catch 中捕获
7.我们使用 .then 也能完成同样的工作。只不过使用 .catch 的话意图更明确,更容易理解。
Promise.resolve(42).then(throwError).then(null, onRejected);
- ECMAScript 6 入门学习笔记
- ECMAScript 6入门 学习笔记
- ECMAScript 6 学习笔记
- ECMAScript 6学习笔记
- ECMAScript 6 学习笔记
- 《ECMAScript 6入门》笔记6
- 《ECMAScript 6入门》笔记1
- 《ECMAScript 6入门》笔记2
- 《ECMAScript 6入门》笔记3
- 《ECMAScript 6入门》笔记4
- 《ECMAScript 6入门》笔记5
- ECMAScript 6 学习笔记----Class
- ES6(ECMAScript 6)学习笔记
- ECMAScript 6 入门 个人笔记(一)
- ECMAScript 6 入门 个人笔记(二)
- ECMAScript 6 入门笔记(六)Class
- ES6-Symbol(ECMAScript 6 入门笔记)
- ECMAScript6学习笔记《一》-----ECMAScript 6是什么?
- 基于 Vue2.0 的移动端 / PC 端验证码输入组件.
- java(单例模式、抽象类、接口、内部类)
- C++中的解引用与智能指针
- java面试题二
- 防止表单重复递交
- ECMAScript 6入门 学习笔记
- Java synchronized详解
- Oracle 11g Release2 安装图文教程 for windows
- spring MVC接收请求体总是多一个等号
- EventBus3.0 在Android上的使用
- BaseRecyclerViewAdapterHelper之BaseSectionQuickAdapter实现分组功能
- 【洛谷 3371】【模板】单源最短路径
- 厦门某公司图像处理工程师面试
- [LeetCode]313. Super Ugly Number