es6 javascript知识

let

与var类似,只是作用域是块级作用域,只在所属块内起作用

const

除了不能修改外与let相同

()=>

这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。没有自己的this,块内this为定义块时的this

Promise

解决异步回调问题

function ajax(function(){
    new Promise(resolve,reject){
        setTimeout(function(){
            if(xxxx){
                 resolve(data)
            }else{
                 reject(data)
           }
        },1000)
    }
})
ajax().then(function(data){
//success
.....
}).catch(function(error){
//fail
...
})

多个promise时 如果要全部resolve时才执行回调
Promise.all(promise数组).then(function(){

})

async-await

async 用于定义异步方法,是Promise的语法糖

async function doAjax(){
    let url = "/getInfo"
    async ajax(url,...) // async如是异步操作则等待执行完毕再继续往下执行,否则立即执行;如果ajax reject ,则抛出异常,可try catch 以捕捉reject返回结果
    some-else
}

你可能感兴趣的:(es6 javascript知识)