Блог компании Mail.ru Group
JavaScript
Программирование
Node.JS
Браузеры
Комментарии 16
НЛО прилетело и опубликовало эту надпись здесь
+9

Ох уж эта мода на броские заголовки! Это ВСЁ что мне нужно знать? Почти все? Я вас умоляю, это дешевый обзор "по верхам" самого начального уровня! Как вводное слово — сойдет, но если это "все что нужно знать" чтобы писать на Ноде, то мне жаль мир javascript. Он скатывается в уровень хоумпейджей на PHP и "загрузок из excel" для 1С

+1

Вот да, ждал упоминания (хотя бы) других движков, вроде того же nashorn'a, внутренних особенностей, типа тротлинга, корса, работы с памятью, файловой системой и кодом окружения.


Заголовок не оправданными ожиданий.

+3
Ужасная статья. Ни черта не понятно, говорим про es6 но не используем современный синтаксис. В корне не верные утверждения:
Один из самых полезных — Promise.all, он берёт массив из промисов и возвращает один промис. Только проблема в том, что Promise.all отклоняется, если отклонены все промисы в массиве.

Хотя в документации сказано как раз об обратном:
Если одно из переданных обещаний будет отклонено, Promise.all будет немедлено отклонен со значением отклоненного обещания, не учитывая другие обещания, независимо выполнены они или нет.

developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
+1
тут неточность перевода. В оригинале " The problem is that Promise.all rejects if any Promise in the array is rejected."
+1
> В реальном мире нам не нужно, чтобы throw запускал обработчик then.

Ну так не ловите исключение в вашей функции или пробрасывайте наверх после выполнения необходимых действий в catch.

async appFn() {
  try {
    synchronousServiceWhichThrowsAnError()
  } catch (err) {
    throw new ApplicationSpecificErrorObjectWithSomeMetadata(err);
  }
}


К слову, в вашей «исправлённой» функции всё так же присутствует баг, с которым вы пытались бороться.
0

Странная статья. Слишком большой контраст. В начале все разжевывалось подробно, для тех кто прогает хоть чуть-чуть даже слишком подробно. А потом стало слишком непонятно даже для продвинутых прогеров.

НЛО прилетело и опубликовало эту надпись здесь
0

Что значит "компилирует и интерпретирует наш JavaScript-код", я думал он только интерпретируется (как-то) в движке.
Можете раскрыть этот вопрос?)

0
Непонятно, как это «async/await никак не меняет JavaScript (не забывайте, язык должен быть обратно совместим со старыми браузерами и не должен ломать существующий код).» В старых браузерах такое не заработает, так что ни о какой обратной совместимости говорить не приходится.
Только полноправные пользователи могут оставлять комментарии. , пожалуйста.