异步操作:代码不会阻塞,同时进行多个操作;用户体验好;代码混乱
同步操作:代码阻塞,一次只能进行一个操作;用户体验不好;代码清晰
融合异步、同步:
promise
async/await
promise:
let p = new Promise(function(resolve,reject){
//异步
//resolve(res)成功
//reject(res)失败
})
p.then(function(){
//成功
},function(){
//失败
})
Promise.all([func1,func2,...]):同时读,同时用,返回arr
Promise.race([func1,func2,...]):同时读,哪个快用哪个,返回一个方法的值
async/await
async function show() {
try{
let data = await 异步
}catch(e){
}
}
普通函数:一直执行,直到结束
async:能够'暂停等待',再继续执行
try/catch捕获异常