Web Workers API 사용에 대한 실제 시나리오를 찾고 있습니다.
Web Workers API 사용에 대한 실제 시나리오를 찾고 있습니다.
답변:
jQuery fame의 John Resig 는 게임, 그래픽, 암호화와 같은 웹 워커를 사용하는 흥미로운 예를 많이 가지고 있습니다 .
다른 용도로는 웹 I / O가 있습니다. 즉, 백그라운드에서 URL을 폴링합니다. 이렇게하면 폴링 결과를 기다리는 UI를 차단하지 않습니다.
또 다른 실용적인 용도 : Bespin에서는 웹 작업자를 사용하여 구문 강조를 수행 하고 있습니다.이 기능은 앱을 사용하는 동안 코드 편집을 차단하고 싶지 않습니다 .
에서 모질라 : 한 가지 방법 노동자 유용이 코드는 사용자 인터페이스 스레드를 차단하지 않고 프로세서 집약적 인 계산을 수행 할 수 있도록한다.
실용적인 예로, #s의 큰 테이블이있는 앱을 생각해보십시오 (2 년 전 제가 프로그래밍 한 앱에서 가져온 BTW는 현실 세계입니다). 입력 필드를 통해 테이블에서 하나의 #을 변경할 수 있으며 다른 열의 다른 숫자는 상당히 집중적 인 프로세스로 다시 계산됩니다.
이전 워크 플로우는 다음과 같습니다. #를 변경하십시오. 자바 스크립트가 다른 숫자로 변경되어 바삭 거리는 동안 커피를 마시고 웹 페이지는 3 분 동안 응답하지 않습니다. 커피와 함께 돌아 오십시오. 두 번째 #을 변경하십시오. 여러 번 반복하십시오. 저장 버튼을 클릭하십시오.
작업자와의 새로운 워크 플로는 다음과 같습니다. # 변경. 무언가 재 계산되고 있지만 다른 #을 변경할 수 있다는 상태 메시지를받습니다. 더 많은 #을 변경하십시오. 변경이 완료되면 상태가 "모든 계산이 완료되었습니다. 이제 최종 #을 검토하고 저장할 수 있습니다"로 변경 될 때까지 기다리십시오.
브라우저에서 서버로 더 많은 양의 데이터를 보내는 데 사용했습니다. 분명히 일반적인 AJAX 호출을 사용하여이 작업을 수행 할 수 있지만 이것이 호스트 이름 당 중요한 연결 중 하나를 차지하는 경우입니다. 또한이 과정에서 사용자가 페이지 전환을 수행하면 (예 : 링크 클릭) 이전 페이지의 JavaScript 객체가 사라지고 콜백을 처리 할 수 없습니다. 웹 워커를 사용하는 경우이 활동이 대역 외에서 발생하므로 완료 될 것이라는 보장이 더 낫습니다.
다른 사용 사례 :
압축 형식으로 서버에서 교환 된 이미지 및 기타 미디어 파일이 많은 경우 백그라운드에서 파일 압축 / 압축 해제