Да, это "асинхронно".
Жесткий диск с данными, доступ к памяти и т. Д. Будут выполняться параллельно, обычно это занимает больше времени, и для этого браузеру не нужно блокировать основной поток, это базовая операция ввода-вывода.
Фактическое чтение и обработка двоичных данных в любом формате, который вы просили, должно быть выполнено параллельно .
Параллельное выполнение шагов означает, что эти шаги должны выполняться один за другим одновременно с другой логикой в стандарте (например, в то же время, что и цикл обработки событий). Этот стандарт не определяет точный механизм, с помощью которого это достигается, будь то совместная многозадачность с разделением времени, волокна, потоки, процессы, использование различных гиперпотоков, ядер, процессоров, компьютеров и т. Д. Напротив, операция, которая должна выполняться немедленно должен прервать текущую задачу, запустить ее сам, а затем возобновить ранее выполненную задачу.
Конечно, мы не можем быть уверены, что это будет настоящий параллелизм, поскольку аппаратное обеспечение может не поддерживать параллелизм, но с точки зрения спецификаций оно асинхронно.
Теперь, чтение файла объемом 100 ГБ, безусловно, вызовет ошибку, указывающую, что у вас недостаточно памяти. А если у вас достаточно памяти, то есть вероятность, что ваш компьютер все равно будет страдать от такого большого объема данных.
Таким же образом сгенерированные данные будут занимать память при отправке обратно в ваш поток через свойство .result . Работа со слишком большими данными, вероятно, повлияет на производительность вашей страницы.