我現在正在開發一個使用離子框架的移動應用程序,它使用larvel 4 REST API對MySql數據庫執行CRUD操作。基於應用程序需求,移動應用程序需要每次調用後端服務以完成某個過程。 我正在使用Angular Resource來調用這些API,我使用Javascript setinterval函數每3秒調用一次。但是,該應用程序正在運行,我並不覺得這是一個很好的做法,因爲這對服務器和客戶端來說都是一項沉重的任務。 請問大家請指導我如何解決這種情況,我非常感謝您的幫助。特別是,我應該設置哪種工具,它們是什麼?謝謝。實時背景服務
實時背景服務
回答
setInterval
不是從API服務器/數據庫接收新數據的最佳實踐,因爲當有太多用戶訪問您的網站時服務器可能會氾濫。但是有一個更漂亮的解決方案:WebSockets
。使用websockets,您可以實時接收通知。我不是PHP開發人員,所以我不知道用什麼WebSocket庫來進行Laravel/PHP開發。但在AngularJS部分我可以推薦這個:https://github.com/gdi2290/angular-websocket
一個的WebSocket例子(非關聯):http://jsfiddle.net/EAVvQ/24/
希望這有助於。
乾杯!
謝謝安德烈,這對我非常有幫助,並感謝您的回答。除了Laravel/PHP環境外,其他的還有哪些?你在使用其中的一些嗎?如果不是非常困難,我可以改變環境。 – Hein
Laravel/PHP環境很好。 WebSockets是一個多平臺/技術庫。使用什麼語言並不重要。嘗試一些PHP WebSockets庫,看看哪一個最適合。在底層WebSockets只是一個簡單的服務器,它發送通知時,客戶端(JS)偵聽這些通知,並根據響應執行一些操作。 –
- 1. Android背景服務或UI
- 2. 截圖 - 背景服務
- 3. 背景Android位置服務
- 4. Android背景網絡服務
- 5. 場景背景 - 啓動wcf服務
- 6. 鈦 - iOS背景服務不工作
- 7. 背景服務wakelock和線程
- 8. 運行背景asp web服務
- 9. 傳感器背景服務wakelock
- 10. Android背景服務控制UI活動
- 11. 發送screenhots服務器立即背景
- 12. 服務背景音樂不關閉
- 13. 澄清的背景虛化服務器
- 14. 主頁按鈕服務背景音樂
- 15. 在Android Wear中創建背景服務
- 16. Android背景服務不起作用
- 17. Sencha touch中的背景服務
- 18. Android背景服務從phonegap得到window.localStorage
- 19. API之前的Android背景服務21
- 20. iOS5中的phonegap背景服務
- 21. iOS背景服務震動手機
- 22. CSS背景上傳到服務器
- 23. 背景音樂服務不關閉
- 24. 背景服務競賽條件
- 25. 服務未正常運行背景
- 26. 背景模式與背景任務
- 27. iOS:在定位服務中運行時更新UI背景
- 28. 關閉背景時無法關閉服務
- 29. 當應用程序變爲背景時,服務已停止
- 30. 啓動服務,以播放背景音樂時收到錯誤
我認爲它可以幫助http://stackoverflow.com/questions/29868003/refresh-events-in-angular-calendar-ui-fullcalendar-with-laravel-as-a-backend/29868502#29868502 –
更好在任何情況下都不要使用'setInterval'。它沒有考慮請求的時間滯後。最好在成功和錯誤回調中調用setTimeout – charlietfl