@MSAFT

Зачем столько асинхронных инструментов в JavaScript?

Для начало, скажу - мне очень нравится писать на JS, нравится его универсальность и синтаксис. Продолжать могу долго, но не об этом.

Чем глубже стараюсь понять язык, тем более странно для меня, что в нем так много инструментов для асинхронности.

Сначала были callback’и, их минусы понятны, затем появились промисы и генераторы, затем добавили async/await. Зачем столько по сути одинаковых инструментов? Последствия эволюции? Или у каждого свои задачи?
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
промисы и async это одно и тоже.
И все это лишь сахар для коллбэков разной степени удобности. И вы еще евенты не упомянули. А так же цикл событий, таски/микротаски, квази-асинхронность.

В язык входят те вещи, которые tc39 посчитают достойными этого. Промисы позволили писать цепочки более понятно, асинки избавили от обилия скобочек. Генераторы не прижились и редко где используются, хотя иногда я их применяю, по назначению разумеется, а не для асинхронного выполнения.

И этого еще не хватает, неплохо было бы иметь поддержку Observable на уровне языка, многие браузерные api стали бы удобнее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы