Предположим, у меня есть большое количество данных для обработки. Для этого примера предположим, что данные просто не могут быть обработаны на стороне сервера; он должен обрабатываться на стороне клиента. Предположим также, что весь процесс данных выглядит следующим образом:Написание неблокирующих функций DOM
for element in data do:
//do some work with "element"
end
Опять же, ради этого примера, давайте предположим, что data
содержит 100.000 элементов.
Вызов функции процесса заморозит всю DOM до тех пор, пока цикл не достигнет конца. Мой вопрос: есть ли способ сделать эту обработку неблокирующим способом? Будь то какой-то асинхронный/ожидающий, обрабатывающий куски data
с каким-то типом механизма yield
или почти что-нибудь еще?
EDIT: веб-работники не являются вариантом, так как мне нужна поддержка IE 11.
EDIT 2: Кажется, я смешивал «Web Workers» с «Shared Web Workers». Ответ на вопрос.
Вы изучали WebWorkers для этой цели? https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers – johnnyutah
@johnnyutah - У них не будет доступа к DOM. – Quentin
@Quentin так? ........ – zerkms