Google выпустила бета-версию браузера Chrome 63

В новой версии были добавлены асинхронные итераторы и генераторы, динамический импорт модулей и Device Memory API.
Chrome 63

27 октября состоялся релиз новой бета-версии браузера Google. В Chrome 63 было добавлено несколько новых функций, о которых мы расскажем ниже. Изменения актуальны для версий браузера под Android, Chrome OS, Linux, Mac и Windows.

Динамический импорт модулей

В настоящее время импорт модулей JavaScript полностью статичен, и разработчики не могут импортировать модули с учётом особенностей среды выполнения. Начиная с этой версии, функция import (specifier) теперь позволяет разработчикам динамически загружать код в модули и скрипты во время выполнения. Его можно использовать для загрузки скрипта только в случае необходимости, что повышает производительность приложения.

button.addEventListener('click', event => {
   import('./dialogBox.js')
   .then(dialogBox => {
       dialogBox.open();
   })
   .catch(error => {
       /* Error handling */
   });
});

Описанный выше пример показывает, как использовать функцию import(specifier) для импорта JavaScript-кода после события.

Асинхронные итераторы и генераторы

Были добавлены функции асинхронного генератора, использующие протокол асинхронной итерации. Они помогут разработчикам оптимизировать использование и реализацию потоковых источников данных. Асинхронные итераторы могут использоваться в циклах for, а также для создания кастомных асинхронных итераторов с помощью фабрик.

async function* getChunkSizes(url) {
 const response = await fetch(url);

 for await (const chunk of streamAsyncIterator(response.body)) {
   yield chunk.length;
 }
}

В приведенном выше примере кода показано, как использовать асинхронные итераторы для создания более чистого кода для потоковой загрузки, используя функцию streamAsyncIterator.

Device Memory API

Разработчикам сложно создавать один пользовательский интерфейс, который может работать на всех устройствах. Новый Device Memory API поможет справиться с этой задачей. Он сканирует общую оперативную память устройства, чтобы понять, какими ресурсами оно обладает. Это позволяет разработчикам адаптировать контент во время выполнения в соответствии с аппаратными ограничениями. Например, они могут запускать лайт-версию приложения для пользователей, использующих недостаточно мощные устройства.

Device Memory API также может быть использован для добавления контекста к метрикам. Например, какое количество времени требуется задаче для завершения в JavaScript, через призму памяти устройства.

 

В новой версии было добавлено и несколько других небольших функций. О них вы можете прочитать в блоге Chromium.

Источник: блог Chromium