Mikhail
.catch ()
Cenator 🐈
.catch ()
Че? У него асинк эвейт
Anonymous
Дай воспроизводимый пример
getCompanies = async () => { try { let result = await bx24.callMethod('crm.company.list') } catch (e) { throw new Error(console.trace(), e.message) } }так?
Anonymous
throw new Error(console.trace(), e.message) Вот это исключение у тебя не ловится
лол. поменял на console.log(e) и Unhandled promise rejection пропал спс
Cenator 🐈
лол. поменял на console.log(e) и Unhandled promise rejection пропал спс
Так естественно, раз ты его выбрасывал
Anonymous
Так естественно, раз ты его выбрасывал
ток щас решил прочитать че throw делает 🌚
Anonymous
А в каких случаях нужно писать try catch?
Cenator 🐈
А в каких случаях нужно писать try catch?
Когда функция может выбросить ошибку
Anonymous
Когда функция может выбросить ошибку
А в каких случаях функция может выбрасывать ошибку?
倫太郎
А в каких случаях функция может выбрасывать ошибку?
В тех случаях когда она выбрасывает ошибку
倫太郎
К примеру, ты получаешь json и пытаешься спарсить в объект, но это оказывается строка и код выкидывает с ошибкой
倫太郎
Смекаешь?
Anonymous
Смекаешь?
Вроде как.
Anonymous
Anonymous
А вот в этом случае, есть где отлавить ошибку?
Anonymous
User.find().then().catch()
При обращении к БД, всегда так делать?
Anonymous
и если у тя один входной параметр в стрлочной функции, то можно без скобок
Сергей
при работе с промисами так же можешь применять
Сергей
хотя это и были промисы)
Anonymous
При обращении к БД, всегда так делать?
ну нода на такое пишет [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Anonymous
User.find().then().catch()
Если ошибка прибежит, а catch не будет, сервер ляжет?
Anonymous
можно, но не нужно
а что не так?
Anonymous
Если ошибка прибежит, а catch не будет, сервер ляжет?
ляжет. но там фишка вроде в том что с catch() ты можешь обрабатывать ошибку
Anonymous
хотя хз. не спец в ноде
Sergey
а что не так?
при появлении второго параметра нужно скобки добавлять при деструктуризации тоже в итоге мусорно
Sergey
что "такое”
Sergey
в итоге изменяется слишком дофига
Anonymous
Sergey
и это упрощение того не стоит
Michael 🌌
Одни ты только в лог пишешь, на основе других ещё и ответ сервака меняешь
Anonymous
в итоге изменяется слишком дофига
скобки добавить стоит одно нажатие, если надо добавить более 1 входного параметра. а без скобок, при 1 параметре смотрится чище
Anonymous
это уже вкусовщина
старий
Anonymous
вот обидно, когда смотришь туторы по ноде, а потом автор говорит, что переходит на го. у него трава зеленее 🌝
Michael 🌌
Надо не обижаться, а тоже на го переходить
Anonymous
Anonymous
Нужно ли писать try catch при вызове этой функции?
Vladimir
.catch((err) => { throw err; }); какой в этом смысл?
Sergey
скобки добавить стоит одно нажатие, если надо добавить более 1 входного параметра. а без скобок, при 1 параметре смотрится чище
я раньше так думал потом пописал в таком стиле полгода, и поменял на “всегда скобки” ибо это однообразнее и в итоге чище
Anonymous
Уже задавал этот вопрос сегодня, но по какой-то причине начел колебаться. Есть фрагмент кода:
Anonymous
router.get('/create', (req, res) => { getList(['_id', 'name', 'surname']) .then((list) => { res.render('tasks/create', {list}); }); });
Anonymous
Нормально ли так давать ответ?
Anonymous
Можно ли сделать это дело более синхронно?
Anonymous
А если будут две асинхронные функции, ответ которых обязателен для ренедера?
倫太郎
Делай синхронно, всего-то
Anonymous
Делай синхронно, всего-то
Функция делает запрос к БД. Не получится.
倫太郎
Функция делает запрос к БД. Не получится.
Делай рендер в .then(), получится
Anonymous
До этого мне дали совет, получать эти данные на клиенте через ajax, но блин, там их не очень удобно обрабатывать.
старий
О боже мой
М И К Р О С Е Р В И С Ы.
Anonymous
ну или цепочка then'ов
старий
спорить бессмысленно.
Sergey
соболезную
倫太郎
спорить бессмысленно.
Потому что это True
Danny
Не unix way, а микросервисы
Егор
https://pp.userapi.com/c831409/v831409301/93b4d/vmkamV12Ies.jpg
倫太郎
Michael 🌌
Ну, короче, любой код - УГ, верно? Или что труево? Я чёт запутался
Anonymous
async await
Ништяк, спасибо!
Anonymous
Anonymous
Блин, что не так сделал?
Anonymous
Пытался переписать закоментированную часть с использованием async await
Anonymous
Let
Эмм, как правильно?