Ошибка веб-работника HTML5 «Uncaught SyntaxError: Недостаточно аргументов» при использовании нескольких вызовов postMessage - PullRequest
0 голосов
/ 05 мая 2011

У меня есть один веб-работник, который делает около 30 запросов AJAX, и после каждого запроса он отправляет сообщение в пользовательский интерфейс, используя postMessage для регистрации прогресса.Например:

postMessage({type: "progress", name: "customers", message: "Success" }).

После примерно 10-20 запросов (не всегда одно и то же число) появляется следующая ошибка:

Uncaught SyntaxError: Недостаточно аргументов .

Если я удаляю вызовы postMessage, все работает нормально, и если я добавляю дополнительные вызовы postMessage, веб-работник выдает ошибку после еще меньшего количества запросов.

Кажется, это также зависит от типаданных веб-работник умирает быстрее, если вызовы postMessage содержат объекты JSON, а не строки.

Кто-нибудь знает, почему это происходит?

1 Ответ

0 голосов
/ 06 мая 2011

Оказывается, что, по крайней мере, в моем случае, postMessage завершается ошибкой, если он вызывается несколько раз за короткое время (миллисекунды)

Вызов postMessage только каждые 500 миллисекунд решил эту проблему для меня.

...