異步操作:代碼不會(huì)阻塞嗅榕,同時(shí)進(jìn)行多個(gè)操作顺饮;用戶體驗(yàn)好;代碼混亂
同步操作:代碼阻塞凌那,一次只能進(jìn)行一個(gè)操作兼雄;用戶體驗(yàn)不好;代碼清晰
融合異步帽蝶、同步:
? ? promise
? ? async/await
promise:
? ? let p = new Promise(function(resolve,reject){
? ? ????//異步
? ? ? ?//resolve(res)成功
? ? ? ?//reject(res)失敗
????})
? ?p.then(function(){
? ? ? ? //成功
????????},function(){
? ? ? ? //失敗
????????})
Promise.all([func1,func2,...]):同時(shí)讀赦肋,同時(shí)用,返回arr
Promise.race([func1,func2,...]):同時(shí)讀励稳,哪個(gè)快用哪個(gè),返回一個(gè)方法的值
async/await
async function show() {
? ? try{
? ? ????let data = await 異步
????}catch(e){
????}
}? ??
普通函數(shù):一直執(zhí)行佃乘,直到結(jié)束
async:能夠'暫停等待',再繼續(xù)執(zhí)行
try/catch捕獲異常