Я использую веб-работников для выполнения некоторых нагрузок на процессор, но у меня есть требование, чтобы работник отвечал на сообщения из родительского сценария, пока работник еще обрабатывает.
Рабочий, однако, не будет отвечать на сообщения, пока он заблокирован в цикле обработки, и я не нашел способа опроса очереди сообщений.Таким образом, кажется, что единственное решение состоит в том, чтобы прерывать обработку с интервалом, позволяющим обслуживать любые сообщения в очереди.
Очевидные варианты - использовать таймер (скажем, с setInterval), однако я прочитал, что минимальная задержка между срабатываниями довольно велика (http://ajaxian.com/archives/settimeout-delay), что, к сожалению, сильно замедляет обработку).
Что думают по этому поводу другие люди? Я попытаюсь отправить работнику onmessage
себе в конце каждого onmessage
, таким образом, эффективно реализуя один шаг цикла обработки для каждого полученного события.от самого себя, но просто хотел посмотреть, есть ли у кого-нибудь какие-нибудь идеи по этому поводу.
Спасибо,