Promise对象
-
Promise对象:代表了未来某个将要发生的事件(通常是一个异步操作)
-
有了promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数
,俗称 '回调地狱'
-
ES6的Promise 是一个构造函数,用来生成Promise实例
状态:
pending:初始化状态
fullfilled:成功状态
rejected:失败状态
使用Promise对象
//第一步:实例化Promise函数 var promise = new Promise(function(resolve,reject){}) //第二步:then()方法分别制定resolved和rejected状态的回调函数 promise.then()
## Symbol运算符
+ es6新增的数据类型
+ symbol 为原始数据类型
+ 为了防止命名冲突
+ 特点:
+ Symbol属性类型代表唯一
+ Symbol数据类型做比较,返回false
+ Symbol属性对应值是唯一的,解决命名冲突的问题
+ Symbol值不能与其他数据进行计算包括同字符串拼串
for in, for of 遍历时不会遍历symbol属性
## Iterator遍历器
作用:
1. 是一种接口机制,为各种不同的数据结构提供统一的访问机制
使得数据结构的成员能够按某种次序排列
2. ES6创造了一种新的遍历命令for..of循环,Iterator接口主要供for..or使用
3. 支持iterator接口的数据:Array,argument,set容器,map容器,String...
## Generator函数
+ 是ES6提供的一种异步编程解决方案之一
+ 是一个状态机,内部封装了不同状态的数据,用来封装不同状态的数据
+ 用来生成遍历器对象
+ 可暂停函数(惰性求值)yield可暂停,next方法可启动,每次返回的是yield后的表达式结果
+ 格式:function *函数名(){
yield表达式 "值1",//内部用yield表达式来定义不同的状态
yield表达式 "值2",
yield表达式 "值3"
}
+ 遇到yield表达式停止,返回{value:yield后的表达式结果/undefined,done:false/true}
+ generator函数返回的是指针对象,而不会执行函数内的逻辑,调用next方法函数内部逻辑开始执行,遇到yield表达式停止,返回..