码迷,mamicode.com
首页 > 其他好文 > 详细

ES6注

时间:2019-07-16 14:12:25      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:运算符   sync   return   reject   属性   拷贝   取出   function   UNC   

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注

标签:运算符   sync   return   reject   属性   拷贝   取出   function   UNC   

原文地址:https://www.cnblogs.com/shirliey/p/11194429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!