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
}
网友评论