Pull to refresh

Comments 11

UFO just landed and posted this here
И как же у вас async/await будет без промисов работать-то?
UFO just landed and posted this here

Ну не надо в промисах в then ошибки обрабатывать, а… catch же для того и придумали, чтоб не громоздить по две функции в одну скобку.

Ну, иногда catch неприменим — когда важно, чтобы обрабатывались лишь ошибки исходного промиса, а не ошибки возникающие в then-ветке. Хотя чаще всего как раз поведение catch более правильное.
А если сделать `Promise(...).catch(...).then(...)`, то then отработает и после нормального завершения промиса, и после завершения catch, если я правильно понимаю?
setTimeout(console.log(1), 2000);
console.log(2);
Выведет 2 1.
Нет, эта программа выведет
1
2
Скорее всего автор хотел показать такой пример:
setTimeout(function() { console.log(1); }, 2000);
console.log(2);
setTimeout(() => console.log(1), 2000);
console.log(2);
Поскольку пример с обратными вызовами — для ES5 и ранее, ваш вариант не заработает.
Ну и да, я прекрасно понимаю, что автор имел ввиду. Просто удручают такие ошибки, даже в относительно нетехнических статьях.
Sign up to leave a comment.

Articles