angularjs $http手機端鎖屏後長時間不操作,請求無響應問題

最近做一個老項目使用的cordova+angularjs進行手機端開發。

發現當手機自動鎖屏5-7分鐘之後再次打開手機操作,第一次請求無響應。由於開啓了loading-bar所以導致加載條無法停止(沒有響應導致)。

增加了Vconsole和httpInterceptor日誌後發現 請求是peding狀態,而且確實走了request之後沒有走response。

查看後端+nginx發現無任何日誌輸出,說明請求並未到達後端。

百思不得其解。最後想起會不會是因爲長連接導致的。因爲nginx設置了keeplive_timeout=300。

故將其修改爲60s發現此問題復現不了。猜測是因爲$http對象緩存了長連接,等超時之後連接不上了一直阻塞等待響應。

正常應該使用fiddler手機抓包確認一下是否發起了請求才能證實這個原因。

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