多個ajax同步|異步執行問題記錄

【問題描述】

做了一個簡單的前端頁面,通過某個類別列表進行報表查詢。

主要有兩次ajax,一次是頁面初始化的時候加載類別列表下拉框的數據,一次是點擊查詢時返回報表數據。

#-1> 初始化下拉列表:function initialPrdType() {}

#2-> 查詢:SelectByPrd(){}

兩次查詢中的ajax都默認設置 async = true; 即異步方式的情況下:

只加載了產品類別,查詢數據沒有自動完成加載,但再點擊查詢按鈕的時候可以正常加載

P.S. 默認不寫明 async==true(異步),async=false(同步)

改成同步方式:asycn = false

可以正常加載,但是瀏覽器(chorme)輸出以下警告:

 簡單翻譯一下:不建議在主線程上使用同步XMLHttpRequest,因爲它會最終影響用戶體驗。

【原因分析】 

ajax請求一般情況下都建議用異步的,而不是同步的,原因是如果是同步的,在請求返回之前線程會一直阻塞,如果請求是在主線程中發起的,那就會造成整個瀏覽器阻塞,導致瀏覽器直接崩潰,因此用戶體驗是很不好的。

解決辦法:直接改成異步方式就好,同時也不建議用同步。

-------------------------------------------------我是阿喵的分界線-----------------------------------------

但是有多個ajax同時併發操作會引發很多問題,雖然暫時沒有遇到,先記錄一下,未雨綢繆

頁面多個ajax順序執行:https://www.jianshu.com/p/c3624e38a1dd

JS中如何處理多個ajax併發請求:https://blog.csdn.net/weixin_42476601/article/details/82315877

前端如何處理多個異步請求並將多個請求的最終結果渲染給頁面:https://blog.csdn.net/qq_20054391/article/details/83302340

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章