的正在讀/解析JSON對象(如通過
<script>
DOM節點,例如JSONP),用於(最)瀏覽器的一個同步阻塞操作?伸縮性JSON在什麼點是JSON對象太大,在對象上的客戶端操作會望而卻步(例如鎖定了瀏覽器,腳本運行速度太慢,等)?
Q
伸縮性JSON
0
A
回答
1
1)是的,解析JSON是阻塞的。無阻塞操作的符號傳遞一個回調,像這樣:
$.get('/stuff/1', function (data) {
// do stuff with `data`
});
而塊操作通常這樣寫的
var stuff = JSON.parse(theData);
如果JSON.parse
是無阻塞的,將是這樣的:
JSON.parse(theData, function (stuff) {
// process `stuff`
});
解析JSON是一個非常快速的操作,所以它不需要非阻塞。
2)真的很大。解析JSON,特別是在使用本地JSON.parse
方法的瀏覽器中(幾乎所有這些方法)都相當快速。 JSON是一種簡單的格式,因此可以快速解析。
2
是的,解析JSON字符串是一個阻塞操作。 (請注意,如果您從Web服務中使用JSONP,那麼您並不需要將字符串解析爲JS)。
你必須有一個真的大的JSON字符串,這是現代瀏覽器的問題。如果您發現某個操作確實鎖定了瀏覽器,則可以通過Web Worker避免這種情況,這可以使阻止操作在單獨的線程中完成。
+0
也很容易檢查最壞情況的時間 - var t = Date.now(); JSON.parse(test_10MB_json); var delta = Date.now() - t' - 你有你的估計。 (我打賭IE7不會喜歡它,但現代瀏覽器應該沒問題) – c69
相關問題
- 1. IIS可伸縮性
- 2. 伸縮性圖像
- 3. 伸縮性比較
- 4. Cytoscape.js的可伸縮性
- 5. aho corasick的可伸縮性
- 6. Mysql,SQLite,可伸縮性
- 7. SharePoint列表可伸縮性
- 8. Oracle Forms的可伸縮性
- 9. JGit可伸縮性限制
- 10. 可伸縮性和可用性
- 11. java +提高性能和可伸縮性
- 12. WCF性能,延遲和可伸縮性
- 13. Web API併發性和可伸縮性
- 14. 準確地說近線性可伸縮性應該是良好的可伸縮性或可擴展性差?
- 15. 高可伸縮性技術堆棧
- 16. PHP Exec()和Python腳本可伸縮性
- 17. TaskCompletionSource具有更好的可伸縮性?
- 18. Web內容聚合的可伸縮性
- 19. 語言工具的可伸縮性
- 20. 視頻聊天:可伸縮性問題
- 21. Laravel Web App的可伸縮性
- 22. SQL Server 2008可伸縮性選項
- 23. 面向對象和可伸縮性
- 24. Azure上MySQL的可伸縮性
- 25. 蔚藍雲隊列的可伸縮性
- 26. 提高Crawler4j-Crawler效率,可伸縮性
- 27. WCF客戶端可伸縮性建議
- 28. AWS和Python線程可伸縮性
- 29. redis加載和可伸縮性問題
- 30. java.io.RandomAccessFile可伸縮性(或其他選項)
1)no:你總是調用(ajax方式)json異步加載。 2)只是測試。並且一旦太長時間就使用小負載。 –