tel-ran-de / FE-24-m

2 stars 0 forks source link

FE 2022-05-18 JS setInterval-setTimeout, async-await #22

Open Nolra opened 2 years ago

Nolra commented 2 years ago

Code: https://github.com/tel-ran-de/FE-24-m/tree/fe-05-18-js-async

Повторение материала: https://learn.javascript.ru/settimeout-setinterval https://developer.mozilla.org/ru/docs/Web/API/setTimeout https://learn.javascript.ru/async-await https://learn.javascript.ru/promise-basics

Дополнительное чтение: https://learn.javascript.ru/event-loop https://habr.com/ru/post/461401/ https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

Домашнее задание: Напишем небольшой компонент симулирующий долгое вычисление

  1. HTML

    • input принимающий некоторую строку от пользователя
    • button кнопка "рассчитать", будет disable, если input пуст
    • Поле div для вывода количества посчитанных символов в строке
  2. JS

    • создать асинхронную функцию, которая будет вызываться по кнопке "рассчитать", выставлять состояние кнопки (disable), затем будет симулировать долгий расчет(через setTimeout - 3s), во время расчета disable должны быть и input и кнопка.
    • вывести результат промиса (количество символов в строке) в поле div, не используя .then()

*дополнительная задача

*дополнительная мини-задача (отдельная) Вызовите async–функцию из "обычной" async function wait() { await new Promise(resolve => setTimeout(resolve, 1000)); return 10; }

function f() { ...что здесь написать? чтобы вызвать wait() и дождаться результата "10" от async–функции не забывайте, здесь нельзя использовать "await" }