說說web請求非同步的處理
阿新 • • 發佈:2019-01-25
按捺不住自己內心的興奮,我想在工作時間寫下這篇。
為何按捺不住自己的心情?這個主要是我今天把我專案之前寫的請求優化了一下,說起我以前的請求,一個網頁載入完到出現結果,比較慢。之前我認為這是個後臺的介面慢,其實這是一方面,另一方面是我的請求都不是非同步的,把瀏覽器的主執行緒阻塞,要把所有的請求都要請求完才要渲染結束,而求所有的請求是序列的,導致時間的累加。如果一個頁面需要請求的內容較多,就會出現卡死的一種感覺,從個人的感覺上來看就是不夠流暢。如何解決這個問題?首先先附上我看的一篇不錯的文章(http://www.jb51.net/article/105434.htm),這個是我突破的思想的來源。如果你看了說這個這麼簡單,好吧,在我自己自身上看來沒有那麼簡單。之前頁面慢,我想用setTimeout發現還是順序執行的,我陷入了一個無法突破的怪圈。從我看到的那篇文章中說setTimeout與setInterval都是偽非同步(這點上我超級贊成),就是都是依賴於web瀏覽器的那個主執行緒,主執行緒只有一個,沒法增加。如何做到真正意義上的非同步,那就是那個ajax的那個非同步是正真意義上的非同步,從那篇文章上看,瀏覽器會建立一個執行緒,這樣就非同步了。有時候我們同一個ajax請求回來的結果的處理又有不同,如何解決?採用ajax+回撥函式,這樣就搞定了。真的,非常的贊,效果也不錯。就這樣吧,繼續工作。
喚醒自己的不是太陽而是夢醒,繼續探索,為遇到更好的自己。