Использование
#промисы
Promise.resolve для создания успешного промисаPromise.resolve создает успешный промис с указанным значением.#промисы
Параллельное выполнение промисов с
#промисы
Promise.all и async/awaitPromise.all позволяет выполнить промисы параллельно, и затем мы ожидаем оба результата.#промисы
Ожидание выполнения промисов в определенной последовательности
Здесь мы обеспечиваем выполнение промисов в порядке итерации по массиву
#промисы
Здесь мы обеспечиваем выполнение промисов в порядке итерации по массиву
promises.#промисы
Ожидание выполнения промиса с таймаутом
#промисы
Promise.race ожидает первого выполненного промиса и может использоваться для установки временного ограничения.#промисы
Преобразование колбэка в промис с
#промисы
util.promisifyutil.promisify преобразует асинхронную функцию использующую колбэк, в промис, что делает ее удобной для использования с async/await.#промисы
Ожидание выполнения нескольких промисов с
#промисы
Promise.allSettledPromise.allSettled ожидает завершения всех промисов и возвращает их состояния (успешно или с ошибкой) и результаты.#промисы
Параллельное выполнение промисов с
#промисы
Promise.all и async/awaitPromise.all позволяет выполнить промисы параллельно, и затем мы ожидаем оба результата.#промисы
Последовательное выполнение промисов с
Здесь мы ожидаем выполнения
#промисы
async/awaitЗдесь мы ожидаем выполнения
someAsyncFunction1, а затем someAsyncFunction2, гарантируя последовательное выполнение.#промисы
Использование
Функция
#промисы
async/await для ожидания выполнения промисаФункция
doAsyncWork ожидает выполнения промиса и выводит его результат при успешном выполнении или ошибку при отклонении.#промисы
Промис с отклонением и
Здесь промис отклоняется через 1 секунду, и мы ловим ошибку с помощью метода
#промисы
catchЗдесь промис отклоняется через 1 секунду, и мы ловим ошибку с помощью метода
catch.#промисы
Простой промис с
В этом примере мы создаем промис, который успешно выполняется через 1 секунду и передает строку "Успех!" в функцию
#промисы
resolve и thenВ этом примере мы создаем промис, который успешно выполняется через 1 секунду и передает строку "Успех!" в функцию
then.#промисы
Метод .filter()
Метод
#функции
Метод
.filter() создает новый массив, содержащий только элементы, которые удовлетворяют условию.#функции
Замыкания
Функция
#функции
Функция
inner является замыканием, так как она может получить доступ к переменной outerVar из внешней функции outer.#функции
Использование шаблонных строк
Шаблонные строки облегчают вставку переменных и делают код более читаемым.
#качествокода
Шаблонные строки облегчают вставку переменных и делают код более читаемым.
#качествокода
Избегание магических значений
Используйте константы для избегания магических чисел и значений в коде.
#качествокода
Используйте константы для избегания магических чисел и значений в коде.
#качествокода
Использование строгого равенства и неравенства
Используйте
#качествокода
Используйте
=== и !== для предотвращения неявного преобразования типов.#качествокода
Разделение кода на функции с одним уровнем абстракции
Каждая функция должна выполнять только одну задачу с одним уровнем абстракции.
#качествокода
Каждая функция должна выполнять только одну задачу с одним уровнем абстракции.
#качествокода
Разделение ответственностей в классах
Каждый класс должен иметь четко определенную ответственность.
#качествокода
Каждый класс должен иметь четко определенную ответственность.
#качествокода
Использование Map и Set вместо объектов и массивов для уникальных данных
Set и Map предоставляют удобные методы для работы с уникальными данными.
#качествокода
Set и Map предоставляют удобные методы для работы с уникальными данными.
#качествокода