Pull to refresh
440
0.8
Вадим Шевяков@Sirion

Пролетарий умственного труда

Send message

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

При чтении таких статей у меня уж лет 20 возникает один и тот же вопрос: если письмо от руки способствует усвоению за счёт сложности, почему бы не выбрать что-то ещё более сложное? Писать неосновной рукой? Писать ногой? Писать ручкой, зажатой в зубах, стоя в планке? Вышивать лекции крестиком? Высекать их на камне?

Если сложность письма действительно такой важный фактор, то им пользуются недостаточно.

Зачем в названии упоминается 2025 год? Какие-то из упомянутых механик - новшества крайней ноды? Если да, то какие? Если нет, то см. первое предложение.

А в каком языке мутабельный инт?)

Возможно, даже слишком потрясающе. Количество DNS-запросов упало до нуля

В голос

Да, тут наврал. Более безопасно при обработке ошибок в пределах async-функций. Но так-то и на промисы можно catch навесить.

Но в любом случае мой вариант не менее безопасен, чем исходный. Прув ми вронг)

Во-первых, поправка: не менее, а более безопасно) в случае чего ошибки вывалятся нормально, а не uncaught (in promise)

Во-вторых, даже просто глазу приятнее. Нет бойлерплейта с .then и стрелками.

В-третьих, а какие именно чудеса вам должен явить async/await? Это по сути синтаксический сахар, позволяющий вместо цепочек .then и .catch (которые могут быть очень длинными, да ещё и вложенными) писать синхронно выглядящий код. Мой пойнт не в том, что с их помощью можно сделать что-то особенное, а в том, что с ними можно сделать то же, что и без них, но красивее, удобнее и ошибкобезопаснее

Чтоб не быть голословным, вот эквивалентный код

class ModuleB {

  constructor() {
    this.init()
  }
  
  async init() {
    this.data = await fetch('someApi')
  }
}

// moduleA.js
import { ModuleB } from './moduleB'

class ModuleA {
  moduleB = new ModuleB();
  
  // вы, видимо, пропустили
  constructor() {
    this.init()
  }
  
  async init() {
    this.data = await fetch('someApi')
  }
}

new ModuleA() 

Крутая возможность async/await - не использовать await, если не нужно дожидаться результата. Просто вызываем что нужно без await, и будет счастье

await Promise.all требуется, если мы хотим получить результаты или хотя бы дождаться момента завершения. Если мы запускаем асинхронные таски в стиле fire&forget, то нам просто не нужен await на верхнем уровне (хотя мы можем использовать async/await в самих тасках)

Я не уследил, в какой момент в РФ запретили await Promise.all

Чем только люди не занимаются, лишь бы не использовать async/await

Хорошая попытка (нет), но нет

Когда автор хочет что-то сказать, по тексту это видно. Здесь видно обратное: автор ничего не хочет сказать, но хочет вызвать у читателей лютобешеное желание его опровергнуть)

Столько комментов под очевидным байтом. Стыдно за хабр.

  • Встретил утверждение, что кабачковый смузи предотвращает рак

  • Погуглил и не нашёл к нему пруфов

  • "Критическое мышление" в демонстративных кавычках: вероятно, утверждение фигня

  • ТруЪ критическое мышление по мнению афтара: НЕТ ТЫ ПРОСТО РАЦИОНАЛИЗУЕШЬ СВОЁ НЕЖЕЛАНИЕ ПИТЬ КАБАЧКОВЫЙ СМУЗИ ЗОДУМОЙСЯ

Без оговорки "мышечной массы" килограммы уверенности не очень добавляют(

Я джвадцать лет ждал такой оператор

Фри ланч немножко древнее, чем Хайнлайн

Поразительно, что эта статья имеет рейтинг под двести. Никакого серьёзного ресёрча не было проведено, выводы вилами на воде писаны. Статью по программированию с таким же подходом уже загнали бы в глубокие минуса

Information

Rating
1,980-th
Location
Калуга, Калужская обл., Россия
Date of birth
Registered
Activity