JavaScript: Когда использовать return await?

preview_player
Показать описание
#shorts Посмотрим, когда лучше в JavaScript использовать return await, а когда нет.

🔗 Ссылки:

Рекомендации по теме
Комментарии
Автор

Да, даже webstorm подсказывает, что нужно убирать await. Просто если не убрать, будет выглядеть примерно как: await await.

nolw.
Автор

Еще добавлю, есть правило no-return-await в eslint. Еще этот await не совсем бесполезный, он помогает более информативный стек вызова функций получить. В том правиле eslint как раз написано об этом в соучаях когда не надо использовать это правило

eldarda
Автор

В принципе да, но если вы его не пропишете то вы просто потеряете часть стектрейса. И если get запрос выдаст ошибку вы не получите точное место откуда она пришла, a место где было обнаружено не выполненный промис.

mifohpy
Автор

А зачем проверку на undefined пихать в блок try catch?

alcokoalco
Автор

убирайте await и потом ловите рандомные баги, когда у вас не обрабатывается корректно промис =)

если метод асинхроннный то ты его вызываешь через await.
если вам влом писать букавы, то можете попробовать python например.

с таким успехом можно и от ключевых слов const и let можно отказаться, всё равно переменные будут создаваться и так, какая разница

NO
Автор

Если await убрали, по идее нужно и async убрать? Или вы его оставляете только лишь для того, что бы функция возвращала Promise<null | User> вместо Promise<User> | null?

alexmitelman
Автор

Напиши, пожалуйста, как называется твоя тема визуал студио-код?

pgvqowt
Автор

Изначальный код будет плох, если обернуть try/catch на вызывающей стороне, в контроллере например?

deuse
Автор

Привет, подскажи какая у тебя тема в vscode стоит?

viacheslavbabenko
Автор

А разве промис не возвращает state, если еще не успел отработать?

AndreiVvedenskii
Автор

Что если db.get изначально возвращает промис?Тогда без await сделать будет несколько проблематично

war
Автор

почему на ютубе все говорят заторможенно?

Noilty
Автор

Null тоже не очень возвращать т.к обязательно каждый раз придется проверять результат на null

trashmail
Автор

if нужно вынести за try, так как он не генерирует исключений

ihateidiots
Автор

Здесь есть более страшная ошибка. Если мы передадим в getUser 0 то получим null, так как неявный каст

lrwwkkn
Автор

Промисы для меня понятнее, чем async await...

FozGenKo