0
그래서 웹 작업자가 별도의 파일을 제공하는 대신 기능을 실행하는 영리한 해킹이 있는지 궁금합니다. 어쩌면이 같은 대신의웹 작업자를 통해 기능 실행
let cpuIntensiveTask =()=>{ //function body } runWithWorker(cpuIntensiveTask);
이
let worker = new Worker("file.js");
그래서 웹 작업자가 별도의 파일을 제공하는 대신 기능을 실행하는 영리한 해킹이 있는지 궁금합니다. 어쩌면이 같은 대신의웹 작업자를 통해 기능 실행
let cpuIntensiveTask =()=>{ //function body } runWithWorker(cpuIntensiveTask);
이
let worker = new Worker("file.js");
:
<script id="worker1" type="javascript/worker">
// This script won't be parsed by JS engines because its type is javascript/worker.
self.onmessage = function(e){
self.postMessage('msg from worker');
};
// Rest of your worker code goes here.
</script>
<script>
var blob = new Blob([ document.querySelector('#worker1').textContent ], { type: "text/javascript" });
var worker = new Worker(window.URL.createObjectURL(blob));
worker.onmessage = function(e) {
console.log("Received: " + e.data);
}
worker.postMessage("hello");
// Start the worker
</script>
참고 해당 브라우저를 이 방법으로는 지원이 강력하지 않을 수 있습니다.
추가 자세한 내용은 여기를 참조하십시오 : https://stackoverflow.com/a/6454685/5535081
당신은 [물방울의 API]를 필요로 (https://developer.mozilla.org/en-US/docs/Web/API/Blob)와 ['URL.createObjectURL '] (https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL)를 참조하십시오. – Xufox