(대부분의) 브라우저에 대한 동기 차단 작업 인 JSON 객체 (예 : JSONP
<script>
DOM 노드를 통해) 읽기/파싱이 수행되고 있습니까?JSON의 확장 성JSON 개체가 너무 커서 개체의 클라이언트 쪽 작업이 금지되는 경우가 있습니다 (예 : 브라우저 잠그기, 스크립트 실행 속도가 너무 느림 등).
답변
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은 간단한 형식이므로 빠른 구문 분석이 가능합니다.
예, JSON 문자열을 구문 분석하는 것은 차단 작업입니다. (웹 서비스에서 JSONP를 소비하는 경우 명시 적으로 JS로 문자열을 구문 분석하지 않아도된다는 점에 유의하십시오.
최신 브라우저에서 문제가 될 수있는 큰 JSON 문자열이 있어야합니다. 작업이 브라우저를 잠그는 경우 웹 작업자가이를 피할 수 있습니다. 이렇게하면 별도의 스레드에서 차단 작업을 수행 할 수 있습니다.
또한 최악의 경우를 쉽게 검사 할 수 있습니다. - var t = Date.now(); JSON.parse (test_10MB_json); var delta = Date.now() - t' - 그리고 당신은 당신의 견적을 가지고 있습니다. (IE7은 그것을 좋아하지 않을 것이지만 현대 브라우저는 잘해야한다) – c69
- 1. 지연 성 소켓 - 확장 성?
- 2. 웹 API 병행 성 및 확장 성
- 3. Oracle Forms의 확장 성
- 4. Ext4의 확장 성
- 5. NHibernate QueryOver 확장 성
- 6. Tomcat 확장 성 ejb
- 7. GPU의 확장 성 분석
- 8. Azure에서 MySQL의 확장 성
- 9. 이벤트 처리기와 확장 성
- 10. 오픈 소스없는 확장 성
- 11. IIS 확장 성
- 12. 확장 성 Boost.Asio
- 13. ASP.NET의 모노 확장 성
- 14. Mochiweb의 확장 성 기능
- 15. Outlook의 VBA 확장 성
- 16. 사라진 확장 성
- 17. Visual Studio 확장 성
- 18. aho corasick의 확장 성
- 19. SaaS 확장 성 - Tomcat은 확장 성이 충분합니까?
- 20. socket.io와 관련된 확장 성 문제
- 21. .NET : 일반 사전의 확장 성
- 22. System.AddIn을 사용하여 관리되는 확장 성
- 23. Visual Studio 확장 성/마진
- 24. 높은 확장 성 기술 스택
- 25. 확장 성 분석 자료 읽기?
- 26. Android WebView의 확장 성 문제
- 27. ASP.NET SqlMembership Provider 확장 성
- 28. 파일 시스템 확장 성 옵션
- 29. WCF 클라이언트 확장 성 조언
- 30. SignalR 허브 확장 성 문제
1) 아니오 : 항상 (ajax way) json을 비동기 적으로 호출하고 있습니다. 2) 그냥 테스트. 너무 길면 빨리 작은 하중을 사용하십시오. –