@nodejs_ru

Страница 1501 из 2748
Morsik
19.01.2018
13:47:05
убери колбек и заюзай промисы как в доках

Sunlive
19.01.2018
13:47:23
вот тоже самое на экспрессе router.post('/signup', (req, res) => { bcrypt.hash(req.body.password, 10, (err, hash) => { User.find({ email: req.body.email }) .exec() .then(user => { if (user.length >= 1) { return res.status(409).json({ message: 'Mail already used', }); } if (err) { return res.status(500).json({ error: err, }); } const USER = new User({ _id: new mongoose.Types.ObjectId(), email: req.body.email, password: hash, }); USER.save() .then(result => { res.status(201).json({ message: 'User Created!', user: result, }); }) .catch(error => res.status(500).json({ error, }), ); }); }); }); и оно работает

Morsik
19.01.2018
13:47:49
а еще return перед USER.save

Sunlive
19.01.2018
13:47:59
да ставил

Google
Sunlive
19.01.2018
13:48:02
но все равно не але

Morsik
19.01.2018
13:48:14
Sunlive
19.01.2018
13:48:52
это сделал уже?
еще не, ща посмотрю как

Morsik
19.01.2018
13:49:23
(ты просто пытался await на штуку которая по факту ничего не возвращает навесить)

Sunlive
19.01.2018
13:51:14
Nurik
19.01.2018
13:52:14
В любом случае, дебаг тебе в руки.

Sunlive
19.01.2018
13:54:15
единственное скажите, ctx.throw() норм юзать?

Nurik
19.01.2018
13:55:34
throw new Error

Sunlive
19.01.2018
13:56:00
а ок, оно и так внутри трайкетча

Nurik
19.01.2018
13:56:38
а ок, оно и так внутри трайкетча
Покажи весь код. А то я чёт не вижу у тебя try ... catch

Google
Sunlive
19.01.2018
13:56:57
ща

try { ctx.body = await bcrypt .hash(ctx.request.body.password, 10) .then(hash => { const USER = new User({ _id: new mongoose.Types.ObjectId(), email: ctx.request.body.email, password: hash, }); return USER.save(); }) .then(result => ({ message: 'User created!', user: result })) .catch(err => { ctx.throw(500, err) }); } catch (error) { ctx.body = error; }

Morsik
19.01.2018
14:00:20
не смешивай так промисы и await

Sunlive
19.01.2018
14:00:41
да я ща перепишу еще разок

на эвэйты уже

так, версия 3

try { const hash = await bcrypt.hash(ctx.request.body.password, 10); const USER = new User({ _id: new mongoose.Types.ObjectId(), email: ctx.request.body.email, password: hash, }); const result = await USER.save(); ctx.body = { message: 'User Created!', user: result, }; } catch (error) { ctx.body = error; }

работает вроде))

всем спасибо, парни

Anton
19.01.2018
14:05:49
Всем привет, такой вопрос, Content-type вообще можно как-то кастомно уставноить допустим только на application/json? А то у меня получается такой прикол после пост запроса, что request content type application/json, а response text/html из-за чего у меня Failed to lookup view "error" in views directory "/src/views"(типо он пытается срендерить какую-то страницу и не может ее найти)

Nurik
19.01.2018
14:07:47
try { const hash = await bcrypt.hash(ctx.request.body.password, 10); const USER = new User({ _id: new mongoose.Types.ObjectId(), email: ctx.request.body.email, password: hash, }); const result = await USER.save(); ctx.body = { message: 'User Created!', user: result, }; } catch (error) { ctx.body = error; }
Вот тебе с сипользованием async/await. Начинай сразу с ним, не тяни. function hash(pass,length){ return new Promise((resolve, reject) => { bcrypt.hash(pass, length,(err, hash) => { if(err){return reject(err);} resolve(hash); }); }); } export const createUser = async (ctx,next) => { try{ let hashedPassword = await hash(ctx.request.body.password,10); let user = await User.find({ email: ctx.request.body.email }); if (user.length >= 1) { return ctx.throw(409, 'Mail already used'); } const USER = new User({ _id: new mongoose.Types.ObjectId(), email: ctx.request.body.email, password: hash, }); let savedUser = await USER.save(); ctx.body = { message: 'User created!', user: savedUser }; } catch(err){ throw err; } };

Eugeny
19.01.2018
14:14:42
всем привет, после установки модулей mongodb и mongoose, условно говоря, создал юзера, засейвил его, в консольке вижу, что он создался, все ок. Такой вопрос, где эти данные хранятся?В какой дирректории?

Nurik
19.01.2018
14:17:02
bcrypt имеет промисное апи
Это понятно, я для примера, чтобы показать как нужно промисифицировать.

Morsik
19.01.2018
14:17:11
ок

Sunlive
19.01.2018
14:18:30
просто выбрасывать?

Google
Morsik
19.01.2018
14:19:45
<logging error> return ctx.throw(500)

а

лучше бросить, окей

Nurik
19.01.2018
14:20:45
просто выбрасывать?
По хорошему, нужно создавать свои ошибки отнаслеодванные от Error. И уже их прокидывать, учитывая environment. С X-Request-Id чтобы легче было дебажить в дальнейшем.

Kolya
19.01.2018
14:23:42


Cenator
19.01.2018
14:24:03
bowser попробуй

хотя хз причем он тут

но устройство определить непросто

Cenator
19.01.2018
14:24:45
максимум браузер и версию оси

Nurik
19.01.2018
14:25:19
Главный вопрос — зачем ?

Kolya
19.01.2018
14:25:21
тоже вижу что больше чем ОС не получается вытянуть

Nurik
19.01.2018
14:25:50
аналитика
Можно чекать связку UserAgent и разрешение экрана.

Kolya
19.01.2018
14:26:09
на беке, вижу, никак

надо сомтреть фронт ((

Cenator
19.01.2018
14:26:26
Google
Kolya
19.01.2018
14:26:41
кому и зачем?
сервис такой пилим, про аналитику

?
19.01.2018
14:39:26
Именно через dns это как раз просто сделать — несколько алиасов с одинаковым весом
как? мне например нужно обращаться к серверу nodejs получать string с адресом куда должен перенаправлять dns

Alexander
19.01.2018
14:51:43
привет

кто-нибудь работал через ноду с ravendb?

Mishell
19.01.2018
16:43:54
Кто-то сталкивался с google play music? Можно ли как-то выкачать музыку из этого сервиса непосредственно кодом? Существует метод, сохранить треки на телефон что бы слушать онлайн, а потом с телефона используя этот трек и базу данных - декодировать музыку, что бы получить готовый mp3. Но есть ли ещё способы? Может можно как-то слить музыкальный поток прямо со страницы пока музыка играет? Или есть предположения?

Admin
ERROR: S client not available

Mishell
19.01.2018
16:57:14
Хотел бы получить доступ к гугл музыке, конечно.

Тимофей
19.01.2018
16:58:44
Хотел бы получить доступ к гугл музыке, конечно.
А у них вообще есть публичное апи?

Mishell
19.01.2018
17:00:10
Отсутствует. Точнее, апи есть, но музыку скачивать оно не позволяет. Как я уже сказал, есть окольный метод и можно дешифровать музыку, которая скачивается приложением. Изначально на телефоне она зашифрована. Но меня интересует, может быть подскажут ещё варианты.

Kolya
19.01.2018
17:03:04
Vitaliy
19.01.2018
17:47:25
уверен, можно при загруженной веб-версии, вытягивать через нее файлы. возможно, придется клеить чанки, загруженные с сервера, подменять audio api или еще что-то такое главное — запустить свой js-код внутри страницы

Dimanius851
19.01.2018
18:32:06


Gleb
19.01.2018
20:09:17
Ребята, почему код с 1 скрина работает? И что это за обьект со 2 скрина?





Kolya
19.01.2018
20:10:44
Контекст this?

Gleb
19.01.2018
20:10:50
да

Контекст this?
и уж простите, но что значит эта запись? { [Function: foo] delay: [Function] }? Если перевести....

Google
Gleb
19.01.2018
20:14:55
Контекст this?
Тоесть, откуда взялся этот контекст?

Kolya
19.01.2018
20:16:04
Погугли, это элементарно

Gleb
19.01.2018
20:25:43
Спасибо Док. Я бы не спрашивал до того как погуглил. Я понимаю, что this ссылается на 'обьект перед точкой'. И понятно, что функции в конечном итоге наследуются от Object но этот вызов мне не ясен. Ведь если мы вызовем this внутри какой-то функции, то this будет икать именно Object чтоб привязаться к нему. А тут this привязывается к функции..

при этом не понятно что это такое? { [Function: foo] delay: [Function] }...

Evgeny
19.01.2018
20:35:13
Я бы даже рекомендовал почитать какую нибудь книгу по ес6

Gleb
19.01.2018
20:35:30
сама функция foo
Да, но почему она в { } скобках?

Evgeny
19.01.2018
20:35:31
Потому что дальше начнутся вопросы сложнее,а понимание не увеличится

Vitaliy
19.01.2018
20:35:57
ну потомучто ти записал ей как обьекту поле delay

потому и обьект

Evgeny
19.01.2018
20:36:03
А услышав сейчас ответ вы его банально не поймёте

Gleb
19.01.2018
20:37:50
ну потомучто ти записал ей как обьекту поле delay
Хм, тоесть после присвоения полей в функцию, она как-бы обрачивается в обьект?

Vitaliy
19.01.2018
20:38:10
ну как-бы функция это и есть обьект

Evgeny
19.01.2018
20:38:25
Ну почему люди так не любят читать и разбираться? :(

Vitaliy
19.01.2018
20:38:50
как-бы она и до того была обьектом

dima
19.01.2018
20:39:05
просто смотря как вызывать ф-ю. И она будет ссылаться на новый абсолютно обьект

Страница 1501 из 2748