async await處理非同步問題

2022-06-23 16:51:09 字數 502 閱讀 7479

在編寫網頁的時候我們常常會遇到非同步問題,async+await是es6提出的解決非同步的方法,下面我們來看看這個方法怎麼實現解決非同步的,

function foo(),

1000

)console.log(2)

}

答案肯定是2,1

因為settimeout是乙個非同步執行語句,所以下面乙個會先執行完後再執行非同步。

可是,我們有時候會想讓非同步先執行完了再執行下面的語句,該怎麼辦呢?

這就是我們今天討論的話題了,如何解決非同步問題。

在網上有很多解決非同步的問題,今天我要說的是通過es6提出的async+await解決非同步問題。

**如下:

async

function foo(),

1000)})

console.log(2)

}

這樣,就可以很好的解決非同步問題了,當然這個async+await也是基於promise的。

async await進行非同步處理

參考 await 只能出現在 async 函式中 async 函式返回的是乙個 promise 物件。async 函式 包含函式語句 函式表示式 lambda表示式 會返回乙個 promise 物件,如果在函式中return乙個直接量,async 會把這個直接量通過promise.resolve 封...

async await 處理非同步知多少

先說一下async的用法,它作為乙個關鍵字放到函式前面,async function timeout 只有乙個作用,它的呼叫會返回乙個promise 物件。呼叫一下看看就知道了,怎麼呼叫?async 函式也是函式,所以它的呼叫和普通函式的呼叫沒有什麼區別,直接加括號呼叫就可以了,為了看結果,cons...

使用async await更好的解決非同步問題

async函式是generator的乙個語法糖,使用async函式實際上返回的是乙個promise物件。如下 async function fn 或者 const fn async 複製 在宣告函式的時候,前面加上關鍵字async即可。我們可以使用console.log列印出上邊宣告的函式fn,結果...