Дима
🔥🔥
Дима
Колбэки к сожалению всегда будут самым эффективным способом) Просто всё меньше и меньше приложений будут в состоянии эту разницу вообще отличить от погрешности
Artur
обожаю пирамидки
Дима
евентлуп
Artur
но ещё больше мне платят когда я вместо обычного then catch в модуле пишу самовызывающуюся async с try/catch и await внутри
Artur
потому что это модно
Дима
Самовызывающуюся? Сурово
Дима
Будь готов что с введением в ноду модулей начнутся сюрпризы)
Дима
Хотя они у всего серверного node сообщества будут, чо уж
Sparrow
о нативных же
Дима
Любое что подключается через динамический require
Sparrow
а правда проблемы будут? так то и так через бабель все уже давно так и пишется
Sparrow
ну это для особо одаренных 😀
Дима
Или через ts
По барабану
Artur
пойду на пыхе писать тогда
Дима
Прям очень сильно
Дима
Я не замечал пока на время не перешел чисто в фронт с import везде — подразумевается статическая инициализация всего всего
Sparrow
просто я так понимаю, что вся сложность перевода ноды на нативные модули как раз на семантическом уровне. синтаксически через транспайлеры и так все давно уже работает
Sparrow
Я не замечал пока на время не перешел чисто в фронт с import везде — подразумевается статическая инициализация всего всего
это да. но я даже не помню, когда мне это требовалось уже. разве что по условиям в энвайронменте что-то подгружать на каком-нибудь жёстком изоморфе
Sparrow
и эту проблему я не знаю как на статике элегантно решить
Дима
Сделать нормальную функцию?)
Sparrow
ну типа того... Но это все равно тот же костыль
Дима
Нет, это нормальный подход) Сделать функцию для действия и вызывать её когда требуется
Sparrow
пожалуй ты прав, да
Alexander
Всем прив. Народ, как думаете, какой статус должен возвращать сервер если юзер постарался залогинится и по какой-то причине ему не удалось?
Alexander
401 Unathorized ?
shoo
shoo
парни, что делаю неправильно ? пароль хэшируется, но не записывается
Sparrow
401 Unathorized ?
401, ага. А если залогинился, но ему нельзя с этим ресурсом играть, то 403
Alexander
спс!
Sparrow
парни, что делаю неправильно ? пароль хэшируется, но не записывается
хэшинг долгая асинхронная операция, промис юзай
Sparrow
ну вот где хэшишь, там и юзай
shoo
правильно делаю ?
Дима
Ну смотря сколько хэшировать 😅
KlonD90
как же он задолбал
Sparrow
правильно делаю ?
ты это как-то сложнее, чем нужно, написал. я с телефона, но вроде работает?
Дима
Ожидал твоей реакции 🙃
Sparrow
не работает )
в общем, ты с хэш-функции должен получать промис, который можешь в await обернуть
Sparrow
буду возле десктопа, пришлю снипет, если пинганешь через часик
shoo
буду возле десктопа, пришлю снипет, если пинганешь через часик
вроде обернул, но не хочет все равно, пингану если не усну ))
Sparrow
ок
Anonymous
А кто знает как связывать jwt авторизацию и socket.io ?
Leet
а что именно связывать то?
Dmitrii
при конекте через сокет ты можешь прочитать хэдеры http запроса
Artur
podrobnee zdes https://auth0.com/blog/auth-with-socket-io/
Anonymous
спасибо хотя из их обрезков в примерах не очень понятно буде разбираться )
Sparrow
сейчас напишу
Sparrow
в общем смотри, сначала архитектурное замечание -- не совсем понятно, зачем тебе хэш в модели, если ты его только для регистрации используешь, а потом все равно же берешь значение извне для сравнения.
Sparrow
то есть, тащить в модель то, что используется только один раз, нет особого смысла
shoo
пример нашел такой в общем )
Sparrow
дальше все просто, пишешь return hash(password, salt) .then(r => { вот тут r это уже готовый хэш }) .catch(err => {чтотопошлонетак})
Sparrow
для сравнения можешь использовать compareSync в принципе, но логика там такая же
shoo
вот так делаю, не хочет
Cenator 🐈
https://www.npmjs.com/package/@atomix/eslint-config Не благодари
Cenator 🐈
И форматтер встроенный включить не забудь
Cenator 🐈
что это ))
Штука одна, чтобы кодстайл норм был
shoo
Штука одна, чтобы кодстайл норм был
а, ну спасибо, а с асинком че делать ?))
Sparrow
а как ты проверяешь, что не работает?
Sparrow
тебе гарантирован хэш только вот в этом месте .then(r => { вот тут r это уже готовый хэш })
Sparrow
во всех остальных местах это звучит как "когда-нибудь хэш конечно вычислят, но пока он undefined"
Sparrow
ну там и проверяй, чему r равен
shoo
ну там и проверяй, чему r равен
он равен хэшу)) т.е. там то что нужно
shoo
ну там и проверяй, чему r равен
но он не присваевается
Sparrow
он присваевается, конечно же. просто в момент, когда ты его где-то на стороне проверяешь, он еще не вычислен и не присвоен