對于異步的理解,
之前對于同步方法和使用async、await的異步方法一直很迷惑,
我覺得等待執行結果的異步和同步方法有什么區別嗎?
他們的執行順序都是一樣的啊?
不是都需要等待執行結果嗎?
今天翻了一下《C#高級編程》,才算搞清楚這里面的差異,原來使用了async、await的異步是不會阻塞執行緒的,
首先說說關于同步方法和異步方法的區別,
比如說web網站加載一些網路資源,是使用同步方法請求,那么此時web網站的用戶界面將會阻塞,直到該方法完成對資源的網路呼叫,并完成結果分析,
完成這些呼叫所需的時間取決與網路速度,以及服務器當前的作業量,
對于用戶來說,界面卡掉、一段時間的等待都是不愉快的,
所以使用異步呼叫,
異步可以避免阻塞,在此期間可以做更多的事情,
但是異步有一個缺陷,相對于同步來說,它對于程式的流程充滿了不確定性,順序可能會顛倒,
所以在某些場景,比如說有多個異步方法被呼叫,他們是有依賴關系的,后面的異步方法需要使用到之前異步方法的結果,我們需要按順序呼叫這些異步方法,這個時候就需要使用async、await關鍵字來等待執行的結果,但是它不會阻塞執行緒,
本文來自木莊網路博客> 掃盲-對異步的理解
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/168622.html
標籤:JavaScript
上一篇:vue~環境搭建
