diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2021-07-15 13:42:10 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-15 13:42:10 -0400 |
| commit | 4f0e1ec1c2772904c033f747dc38a08223e8d661 (patch) | |
| tree | 6212d976fd9f708d4f13e7d472bd765341661c1b /files/es/web/api/worker | |
| parent | d79f316e1c617b165487da0198765d992cce2fff (diff) | |
| download | translated-content-4f0e1ec1c2772904c033f747dc38a08223e8d661.tar.gz translated-content-4f0e1ec1c2772904c033f747dc38a08223e8d661.tar.bz2 translated-content-4f0e1ec1c2772904c033f747dc38a08223e8d661.zip | |
delete pages that were never translated from en-US (es, part 2) (#1550)
Diffstat (limited to 'files/es/web/api/worker')
| -rw-r--r-- | files/es/web/api/worker/postmessage/index.html | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/files/es/web/api/worker/postmessage/index.html b/files/es/web/api/worker/postmessage/index.html deleted file mode 100644 index c47fe400fc..0000000000 --- a/files/es/web/api/worker/postmessage/index.html +++ /dev/null @@ -1,206 +0,0 @@ ---- -title: Worker.postMessage() -slug: Web/API/Worker/postMessage -translation_of: Web/API/Worker/postMessage ---- -<p>{{APIRef("Web Workers API")}}</p> - -<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API">Web Workers API</a> posee un metodo llamado <code><strong>postMessage()</strong></code> el cual envia un mensaje al ambito del worker. Este metodo acepta un parametro, el cual es un dato enviado al worker. El dato puede ser un valor o objeto controlado por el algoritmo strctured clone (incluye referencias ciclicas).</p> - -<p>El Worker puede enviar de vuelta información al hilo que lo genero usando el metodo {{domxref("DedicatedWorkerGlobalScope.postMessage")}}.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="brush: js">myWorker.postMessage(aMessage, transferList);</pre> - -<h3 id="Parameters">Parameters</h3> - -<dl> - <dt><em>aMessage</em></dt> - <dd>The object to deliver to the worker; this will be in the data field in the event delivered to the {{domxref("DedicatedWorkerGlobalScope.onmessage")}} handler. This may be any value or JavaScript object handled by the <a href="/en-US/docs/Web/Guide/DOM/The_structured_clone_algorithm" title="http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#transferable">structured clone</a> algorithm, which includes cyclical references.</dd> - <dt><em>transferList</em> {{optional_inline}}</dt> - <dd>An optional <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" title="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">array</a> of {{domxref("Transferable")}} objects to transfer ownership of. If the ownership of an object is transferred, it becomes unusable (<em>neutered</em>) in the context it was sent from and it becomes available only to the worker it was sent to.</dd> - <dd>Only {{domxref("MessagePort")}} and {{domxref("ArrayBuffer")}} objects can be transferred.</dd> -</dl> - -<h3 id="Returns">Returns</h3> - -<p>Void.</p> - -<h2 id="Example">Example</h2> - -<p>The following code snippet shows creation of a {{domxref("Worker")}} object using the {{domxref("Worker.Worker", "Worker()")}} constructor. When either of two form inputs (<code>first</code> and <code>second</code>) have their values changed, {{event("change")}} events invoke <code>postMessage()</code> to send the value of both inputs to the current worker.</p> - -<pre class="brush: js">var myWorker = new Worker("worker.js"); - -first.onchange = function() { - myWorker.postMessage([first.value,second.value]); - console.log('Message posted to worker'); -} - -second.onchange = function() { - myWorker.postMessage([first.value,second.value]); - console.log('Message posted to worker'); -} -</pre> - -<p>For a full example, see our<a class="external external-icon" href="https://github.com/mdn/simple-web-worker">Basic dedicated worker example</a> (<a class="external external-icon" dir="ltr" href="mailto:aguilahorus@gmail.com">run dedicated worker</a>).</p> - -<div class="note"> -<p><strong>Note</strong>: <code>postMessage()</code> can only send a single object at once. As seen above, if you want to pass multiple values you can send an array.</p> -</div> - -<h2 id="Transfer_Example">Transfer Example</h2> - -<p>This example is of a Firefox addon that transfers an ArrayBuffer from the main thread to the ChromeWorker, and then the ChromeWorker trasnfers it back to the main thread.</p> - -<h4 id="Main_thread_code">Main thread code:</h4> - -<pre class="brush: js">var myWorker = new ChromeWorker(self.path + 'myWorker.js'); - -function handleMessageFromWorker(msg) { - console.log('incoming message from worker, msg:', msg); - switch (msg.data.aTopic) { - case 'do_sendMainArrBuff': - sendMainArrBuff(msg.data.aBuf) - break; - default: - throw 'no aTopic on incoming message to ChromeWorker'; - } -} - -myWorker.addEventListener('message', handleMessageFromWorker); - -// Ok lets create the buffer and send it -var arrBuf = new ArrayBuffer(8); -console.info('arrBuf.byteLength pre transfer:', arrBuf.byteLength); - -myWorker.postMessage( - { - aTopic: 'do_sendWorkerArrBuff', - aBuf: arrBuf // The array buffer that we passed to the transferrable section 3 lines below - }, - [ - arrBuf // The array buffer we created 9 lines above - ] -); - -console.info('arrBuf.byteLength post transfer:', arrBuf.byteLength); -</pre> - -<h4 id="Worker_code">Worker code</h4> - -<pre class="brush: js">self.onmessage = function (msg) { - switch (msg.data.aTopic) { - case 'do_sendWorkerArrBuff': - sendWorkerArrBuff(msg.data.aBuf) - break; - default: - throw 'no aTopic on incoming message to ChromeWorker'; - } -} - -function sendWorkerArrBuff(aBuf) { - console.info('from worker, PRE send back aBuf.byteLength:', aBuf.byteLength); - - self.postMessage({aTopic:'do_sendMainArrBuff', aBuf:aBuf}, [aBuf]); - - console.info('from worker, POST send back aBuf.byteLength:', aBuf.byteLength); -} -</pre> - -<h4 id="Output_logged">Output logged</h4> - -<pre>arrBuf.byteLength pre transfer: 8 bootstrap.js:40 -arrBuf.byteLength post transfer: 0 bootstrap.js:42 - -from worker, PRE send back aBuf.byteLength: 8 myWorker.js:5:2 - -incoming message from worker, msg: message { ... } bootstrap.js:20 -got back buf in main thread, aBuf.byteLength: 8 bootstrap.js:12 - -from worker, POST send back aBuf.byteLength: 0 myWorker.js:7:2</pre> - -<p>We see that byteLength goes to 0 as it is trasnferred. To see a fully working example of this Firefox demo addon see here: <a href="https://github.com/Noitidart/ChromeWorker/tree/aca57d9cadc4e68af16201bdecbfb6f9a6f9ca6b">GitHub :: ChromeWorker - demo-transfer-arraybuffer</a></p> - -<h2 id="Specifications">Specifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - <tr> - <td>{{SpecName('HTML WHATWG', "#dom-worker-postmessage", "Worker.postMessage()")}}</td> - <td>{{Spec2('HTML WHATWG')}}</td> - <td>No change from {{SpecName("Web Workers")}}.</td> - </tr> - <tr> - <td>{{SpecName('Web Workers', "#dom-worker-postmessage", "Worker.postMessage()")}}</td> - <td>{{Spec2('Web Workers')}}</td> - <td>Initial definition.</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari (WebKit)</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>10.0 [1]</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>Firefox OS (Gecko)</th> - <th>IE Phone</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>10.0 [1]</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatVersionUnknown}}</td> - </tr> - </tbody> -</table> -</div> - -<p>[1] Internet Explorer does not support {{domxref("Transferable")}} objects.</p> - -<h2 id="See_also">See also</h2> - -<ul> - <li>The {{domxref("Worker")}} interface it belongs to.</li> -</ul> |
