小結 ES7 async和await初識

2022-07-12 23:00:21 字數 1357 閱讀 2459

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 函式中,一定要注意不能直接呼叫。...