ES6注
Posted shirliey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6注相关的知识,希望对你有一定的参考价值。
1、Promise构造函数
//resolve(成功),reject(失败)两个参数 function runAsync() var p = new Promise(function(resolve,reject) //做一些异步操作 setTimeout(function() console.log(‘执行完成‘); resolve(‘执行完成数据‘); ); ); return p; runAsync();
then、catch
//链式操作 runAsync() .then(function(data) console.log(data); return runAsync2(); ) .then(function(data) console.log(data); )
//then-catch runAsync() .then(function(data) console.log(‘resolved-‘+data); ) .catch(function(reason) console.log(‘rejected-‘+reason); );
all的用法:并行执行,所有异步操作执行完才执行回调
runAsync() .all([runAsync1(), runAsync2(), runAsync3()]) .then(function(results) console.log(results); );
race的用法:先执行完一个异步操作就执行回调
runAsync() .race([runAsync1(), runAsync2(), runAsync3()]) .then(function(results) console.log(results); );
2、三点运算符(...):浅拷贝
对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中。
let obj2 = ...obj1; //浅拷贝,修改obj2会同步修改obj1
注意:如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
const [...rest, last] = [1, 2, 3, 4, 5];
// 报错
const [first, ...rest, last] = [1, 2, 3, 4, 5];
// 报错
扩展运算符还可以将字符串转为真正的数组
[...‘hello‘]
// [ "h", "e", "l", "l", "o" ]
以上是关于ES6注的主要内容,如果未能解决你的问题,请参考以下文章