async其實是es7才有有的關鍵字,async的意思是非同步,顧名思義是有關非同步的操作
async用於宣告乙個函式是非同步的。
通常情況下async、await都是跟隨promise一起使用,因為async返回值都是乙個promise物件,async適用於任何型別的函式上
使用async其實很簡單,只需要在函式前面加乙個async即可,這個函式的返回值是乙個promise
//用來宣告乙個函式是非同步的
async function fn()
//返回值是乙個promise
console.log(fn())
/*控制台輸出
promise
__proto__: promise
[[promisestatus]]: "resolved"
[[promisevalue]]: 123
1111
2222
*///可以通過.then拿到返回值
fn().then((data)=>)
await關鍵字不能夠單獨使用,必須在async中進行使用
await等待非同步執行返回結果後才會執行下面的**,其實await就是阻止主函式的執行
function fn(),2000)
})}async function fn1(),1000)
}fn1()
/*控制台輸出
promise
__proto__: promise
[[promisestatus]]: "resolved"
[[promisevalue]]: undefined
1111
2222
*/
四、如何實現多個非同步同步執行
function fn(),3000)
})}function fn1(),2000)
})}function fn2(),1000)
})}async function fn3()
fn3()
/*控制台輸出
promise
__proto__: promise
[[promisestatus]]: "resolved"
[[promisevalue]]: undefined
1111
2222
3333
*/
async函式完全可以看作多個非同步操作,包裝成的乙個 promise 物件,而await命令就是內部then命令的語法糖。因此如果需要實現多個非同步同步執行必須每次await後都返回乙個新的promise
Async函式 詳解 ES7
promise的async await async await是es7推出的一套關於非同步的終極解決方案,為什麼要說他是終極解決方案呢?因為他實在是太好用了,而且寫起來還非常的簡單。什麼是async await呢?可以總結為一句話 async await是一對好 缺一不可,他們的出生是為promis...
async的非同步使用es7
關於非同步的問題,一直很受關注,es7中的async.await也是針對非同步問題的。需求 我想使用promise,和async這兩種方法,在一定時間之後輸出乙個 hellow world 使用promise 使用async進行操作 值得說一句的是await後面通常是乙個promise物件 func...
ES7中的非同步async和非同步等待await
非同步async和非同步等待await是什麼?非同步async做為乙個程式猿大家一般都接觸過,知道是什麼意思。而在這裡async主要是用於申請乙個function函式是非同步的!非同步等待await是 async wait 的簡寫,await 只能出現在 async 函式中,一定要注意不能直接呼叫。...