ES6.promise


2019/11/18

ES6


变量:

  1. Var 重复定义不报错;没有块级作用域;不能限制修改
  2. Let 变量;不能重复定义;有块级作用域;可以修改
  3. Const 常量;不能重复定义,有块级作用域;不能修改
解构赋值
json={a:12,b:5}let {a,b}=json;

arr=[12,5,8]
let [a,b,c]=arr;
  1. 两边结构必须一样
  2. 右边必须是个东西
  3. 赋值和解构同时完成
	let {a,b}=[12,5];
	let {a,b};
	{a,b}={a:12,b:5};
函数与参数:

  • 箭头函数——简写注意项:
    1.只有一个参数,()可以省
    2.只有一个语句,还是return,{}可以省

  • function 名字(){} //函数

    1. ()=>{} //箭头函数
  • 参数扩展:

    1. …arg 展开参数
    2. …是用来收集剩余的参数,必须的放在最后,不管后面是不是空的,都不影响使用,前面如果没东西,则是未定义,如果数组里面有东西,则显示,如果没有,则显示空数组
  • 特殊函数:

    1. Generator(中间可以暂停)
    2. 普通函数(一直执行到头)
数组:

  • Map 映射 一个对一个
列: // let score = [19,85,99,25,90];
// let result = score.map(item=>item>=60?'及格':'不及格');
  • Reduce 汇总 一堆出来一个
列:// let arr =[12,69,180,5500];
// let result = arr.reduce(function(tmp,item,index){
// return tmp+item;
// })
  • Filter 过滤
列:	let arr = [12,5,6,79,21,11,75];
		let result = arr.filter(item=>item%3==0);
  • forEach 遍历,选代
字符串:

  • 字符串模板: “xxx” ‘xxx’ x${变量}xx
  • 两个新方法:
    1. StartsWish 用于检查字符串是否是以指定前缀开头
    2. endsWish 用于判断字符串是否以指定后缀结尾
  • 字符串可以拼接(直接把东西塞到字符串里面)
  • 可以转行 ${ 东西 }
// let a=12;
// let str = `a${a}bc`;
// alert(str);

面向对象:

  • Class
  • Super
  • Extends
  • 概括:首先在定义一个类时必须要有class属性,在class后必须跟类名加{ }
    在constructor构造函数中定义,在创建一个类后调用这个类里面的方法,
    在用法上用extends继承,在继承中要在constructor中用super继承,然
    后根据需要增加或删除
  • 包括json对象:
    1. Json.stringify
    2. Json.parse
  • 简写: 方法,名字都一样
  • 标准写法:
  • 只能用双引号
    所有的名字都必须用引号包起来
    列:
{a:12,b:5} ×
{"a":12,"b":5}

Promise:(消除异步操作)


  • 同步:
  • 只有操作完事了,才往下执行 一次只能做一件事
列:  let banners=$.ajax('/get_banners');
  	  let hot=$.ajax('/get_hot');
 	  let list=$.ajax('/get_list');
  	  let hot=$.ajax('/get_hot');
  • 异步:

  • 这个操作进行中其他操作也可以进行 一次可以做多个事

列:
    let p = new Promise(function (resolve, reject) {
        $.ajsx({
            url: '/', //路径
            dataType: 'json', //类型
            success(arr) {
                resolve(arr);
            },
            error(err) {
                reject(err);
            }
        })
    });
    p.then(function () {
        alert('成功');
    }, function () {
        alert('失败了');
    })
  • 优势:
    1. 同:简单方便
    2. 异:用户体验好,高效
  • 两个参数:
    1. Resolve 成功
    2. Reject 失败
  • 三个方法:
    1. (function里面的参数)
    2. Then( )
      方法返回一个promise;它最多需要两个参数,成功和失败的回调函数
    3. All( )
      可以将多个实例包装成一个实例;成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。
    4. Reac( )
      竞速;里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。
  • 创建promise对象:
let p=new Promise(function (resolve, reject){
		异步代码...
});
  • 使用promise对象:
P.then(( )=>{ },( )=>{ });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值