Google выпустила бета-версию браузера Chrome 63
Новости
В новой версии были добавлены асинхронные итераторы и генераторы, динамический импорт модулей и Device Memory API.
2К открытий3К показов
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.
2К открытий3К показов