Задать вопрос
  • Использование web workers?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Объекты в web worker передаются через сериализацию "structured clone algorithm" и есть ограничения. Нельзя передать функцию и, соотв., логику.

    С другой стороны, можно создавать worker динамически, из data-url, как это описано тут:
    <script type="text/js-worker">
      var myVar = 'Hello World!';
      // остальной код web-worker'а
    </script>
    <!-- ... -->
    <script type="text/javascript">
      var blob = new Blob(Array.prototype.map.call(document.querySelectorAll('script[type=\'text\/js-worker\']'), function (oScript) { return oScript.textContent; }),{type: 'text/javascript'});
    
      // Creating a new document.worker property containing all our "text/js-worker" scripts.
      document.worker = new Worker(window.URL.createObjectURL(blob));

    Полный код примера см. по ссылке выше.

    Т.е. можно хоть в JS на странице сгенерировать код для worker'а и запустить рабочего.
    Ответ написан
    2 комментария