- await后面接一个会return new promise的函数并执行它
- await只能放在async函数里
- 使用async和await获取成功的结果
function 摇色子(){ return new Promise((resolve, reject)=>{ let sino = parseInt(Math.random() * 6 +1) setTimeout(()=>{ resolve(sino) },3000) }) } async function test(){ let n =await 摇色子() console.log(n) } test()
- 获取失败的结果
function 摇色子(猜测){ return new Promise((resolve, reject)=>{ let sino = parseInt(Math.random() * 6 +1) if(sino > 3){ if(猜测 === '大'){ resolve(sino) }else{ reject(sino) } }else{ if(猜测 === '大'){ reject(sino) }else{ resolve(sino) } } setTimeout(()=>{ resolve(sino) },300) }) } async function test(){ try{ //把await及获取它的值的操作放在try里 let n =await 摇色子('大') console.log('赢了' + n) }catch(error){ //失败的操作放在catch里 console.log('输了' + error) } } test()
把await和成功后的操作放到try里,失败的放在catch
-
为什么要用await
-
为了我们的异步代码,更像同步的代码