Rumah > hujung hadapan web > tutorial js > Bolehkah Pekerja Web Dalam Talian Memudahkan Penyerahan dan Pengurangan?

Bolehkah Pekerja Web Dalam Talian Memudahkan Penyerahan dan Pengurangan?

Patricia Arquette
Lepaskan: 2024-10-29 13:17:02
asal
1073 orang telah melayarinya

 Can Inline Web Workers Simplify Deployment and Minification?

Pekerja Web Dalam Talian: Memintas Fail JavaScript Berasingan

Secara tradisinya, pekerja web dibuat seketika dengan memuatkan fail JavaScript yang berasingan, seperti yang anda nyatakan:

<code class="html">new Worker('longrunning.js')</code>
Salin selepas log masuk

Walaupun mudah, pendekatan ini boleh merumitkan penggunaan dan pengurangan apabila menggunakan alatan seperti Closure Compiler. Untuk menangani perkara ini, anda boleh memanfaatkan Blob() untuk mencipta pekerja sebaris dalam fail HTML yang sama seperti logik utama anda.

Pekerja Sebaris dengan Blob()

Begini cara anda boleh mencipta pekerja sebaris menggunakan Blob():

  1. Tentukan skrip pekerja anda dalam elemen dengan jenis "javascript/worker":
<code class="html"><script id="worker1" type="javascript/worker">
  // Worker code goes here
</script></code>
Salin selepas log masuk
  1. Buat objek Blob dengan skrip pekerja sebagai kandungannya:
<code class="html">var blob = new Blob([
  document.querySelector('#worker1').textContent
], { type: "text/javascript" })</code>
Salin selepas log masuk
  1. Buat objek pekerja menggunakan window.URL.createObjectURL(blob):
<code class="html">var worker = new Worker(window.URL.createObjectURL(blob));</code>
Salin selepas log masuk
  1. Kendalikan mesej daripada pekerja dalam urutan utama anda:
<code class="html">worker.onmessage = function(e) {
  console.log("Received: " + e.data);
}</code>
Salin selepas log masuk
  1. Mulakan pekerja dengan menghantar mesej:
<code class="html">worker.postMessage("hello");</code>
Salin selepas log masuk

Pendekatan ini membolehkan anda mengekalkan kod pekerja anda selaras dengan logik utama anda, menjadikannya serba lengkap dan mudah digunakan pakej.

Atas ialah kandungan terperinci Bolehkah Pekerja Web Dalam Talian Memudahkan Penyerahan dan Pengurangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan