瞭解Javascript localStorage API是同步的並因此被阻止,是否有任何解決方法可以讓您顯示一個在getItem()
或setItem()
操作期間不會凍結的等待動畫?使用Javascript有可能從localStorage中獲取等待動畫嗎?
回答
如果從本地存儲中獲取300kB的數據並使用JSON.parse
進行解析對於單個同步阻止操作來說太慢了,那麼您將不得不將其拆分爲更小的塊。這些可以存儲在單個存儲插槽中,並在asynchronous loop中處理外殼(另請參見JavaScript Performance Long Running Tasks,How to stop intense Javascript loop from freezing the browser)。
可以通過使用Web Workers進行任何同步操作,包括localStorage異步操作。
Web Workers看起來像他們可能有承諾!在移動應用(例如Phonegap/Cordova)環境中使用它們的經驗? –
我不是手機開發者,所以我不能說。但是,[並非所有的移動瀏覽器似乎都支持它們](http://caniuse.com/#feat=webworkers),所以如果它使用的瀏覽器在某些平臺上可能會遇到問題。 – Taymon
- 1. 是否有可能從使用Javascript的畫布獲取筆畫?
- 2. 等待動畫功能在javascript
- 3. WindowManager動畫(有可能嗎?)
- 4. jQuery/Javascript:等待動畫完成
- 5. asp.net等待動畫不使用UpdateProgress
- 6. WPF中可能有形狀動畫嗎?
- 7. 在PHP中獲取數據時等待動畫
- 8. 使用PySerial可以等待數據嗎?
- 9. 可能阻止cin等待輸入嗎?
- 10. JavaScript的等待動畫完成一個動畫
- 11. 等待所有WPF動畫停止
- 12. Android等待動畫完成
- 13. 等待動畫完成
- 14. 等待Android動畫完成
- 15. 等待動畫恢復
- 16. 等待動畫結束
- 17. iPhone等待動畫結束
- 18. 動畫GIF請等待
- 19. 等待動畫停止
- 20. 使用Dart的異步/等待方法級聯可能嗎?
- 21. 使動畫等待1秒 - Objective-c
- 22. 獲取TransactionScope以使用異步/等待
- 23. jQuery在動畫之前獲得動畫步驟,可能嗎?
- 24. jquery - 動畫innerHTML可能嗎?
- 25. Flot圖動畫可能嗎?
- 26. 與HTML5畫布等待動畫
- 27. 使javascript等待php
- 28. 使用grunt從TFS中獲取最新版本可能嗎?
- 29. 等待動畫調用函數
- 30. 等待動畫在unity3d中完成
存儲操作前啓動動畫。做存儲操作。停止動畫? –
至少我試過它的方式,動畫在存儲操作期間凍結。 –
你在說什麼樣的存儲?簡單地使用'localStorage.setItem()'?它是大量的數據嗎?你需要序列化它嗎?你是否正在做一些單獨的,同步的東西來阻止頁面? – Ian