@nodejs_ru

Страница 1102 из 2748
dima
17.08.2017
12:12:15
вот они

Andrey ?
17.08.2017
12:12:17
Покажи код findOne

Асинхронный драйвер mysql внезапно стал там синхронным или что?

dima
17.08.2017
12:13:32


Google
Andrey ?
17.08.2017
12:13:41
Ну

А теперь смотри на async

dima
17.08.2017
12:13:46
вот из бд чистые данные

Andrey ?
17.08.2017
12:13:49
Что по-твоему он возвращает?)

async-функции возвращают промис

dima
17.08.2017
12:14:17
как проверить? Если был бы промис то в консоли увидели бы pending

Eugeniy
17.08.2017
12:14:21
const user = await Model.findOne({ … })

Andrey ?
17.08.2017
12:14:50
как проверить? Если был бы промис то в консоли увидели бы pending
У тебя не вызывается логгирование из deserialize даже

Ты в консоль-то посмотри

На свои же скрины

dima
17.08.2017
12:15:39
ну данные из бд. Все нормально. Что не так?

Andrey ?
17.08.2017
12:16:05
gospodee, не может у тебя из async вернуться не-промис

Lulz
17.08.2017
12:16:06
async-функции возвращают промис
так у него же там await стоит

Google
dima
17.08.2017
12:16:50
асинк это then

это сахар

Andrey ?
17.08.2017
12:16:55


Вот у меня тут эвейт стоит

Lulz
17.08.2017
12:17:17
so?
resolve\reject, он вернул промис, но уже с результатом

Andrey ?
17.08.2017
12:17:39
А щас вообще древняя магия



dima
17.08.2017
12:17:50


Andrey ?
17.08.2017
12:18:09
Воткни долбанный then и проверь с ним

В deserialize

dima
17.08.2017
12:19:28




Sparrow
17.08.2017
12:20:09
успели отрезолвиться вот и пришли

Andrey ?
17.08.2017
12:20:33
Сдаюсь, иди читай как работает асинк и эвейт и почему нельзя так писать

dima
17.08.2017
12:21:26
ты как предлогаешь?



Andrey ?
17.08.2017
12:21:35
Нет

Я предлагаю воткнуть then в deserialize

У findById

Google
dima
17.08.2017
12:21:59
ну там тоже самое

Andrey ?
17.08.2017
12:22:06
Потому что findById тебе возвращает промис

dima
17.08.2017
12:22:17
минутку

Andrey ?
17.08.2017
12:22:19
Как бы тебе не хотелось верить в то, что все же не промис, но нет, там промис)

dima
17.08.2017
12:22:29
минутку



Andrey ?
17.08.2017
12:24:12
deserialize перепиши

Нормально

dima
17.08.2017
12:24:27
в консоли есть данные, но почему я не вижу сам промис выводя findOne() ?

Andrey ?
17.08.2017
12:24:57
Вот тут



user.then(done)

dima
17.08.2017
12:26:27
минутку

ща кто то пойдет читать о промисах

готов ? D

Andrey ?
17.08.2017
12:27:26
Я уже ко всему готов тут

dima
17.08.2017
12:28:04


так что мне возвращаются данные

Andrey ?
17.08.2017
12:28:41
А теперь покажи полностью код

dima
17.08.2017
12:28:47
чистые. Я же кидал скрины консоли 100 раз

Google
Andrey ?
17.08.2017
12:28:51
Пока я не умер со смеху

dima
17.08.2017
12:29:17
это и есть полность

Andrey ?
17.08.2017
12:29:36
Нет, потому что ты не можешь вызвать await за пределами async-функции

Вот только у тебя на твоем deserialize - нифига не async-функция

Еще раз говорю

user.then(done)
Для начала, попробуй это

А затем ртфм по async/await

dima
17.08.2017
12:30:55


Andrey ?
17.08.2017
12:31:27
Так чего приложение-то не работает? ?

Мне все же интересно, как по-твоему в user придут чистые данные

Если findOne - async-функция?

Походу, у тебя какой-то свой javascript

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/async_function

dima
17.08.2017
12:32:35
я проорал. Да там промис

Andrey ?
17.08.2017
12:32:40
Я уже даже не знаю, куда тебя еще носом ткнуть

dima
17.08.2017
12:33:09


Andrey ?
17.08.2017
12:33:39
Как перестать орать

dima
17.08.2017
12:34:07


Andrey ?
17.08.2017
12:34:24
Потому что сейчас ты юзаешь async

А до этого ты его не юзал

Google
dima
17.08.2017
12:34:49


Andrey ?
17.08.2017
12:34:59
Не факт, что deserializeUser будет вообще работать с промисом

Даже более того: не будет, не просто же так коллбек передает

Убери async и await тут и сделай через then

dima
17.08.2017
12:38:25
почему через then ? Это же тоже самое

Andrey ?
17.08.2017
12:38:49
Не тоже самое

Ruslan ?
17.08.2017
12:39:21
Ты передаёшь промис в deserializeUser... Он принимает промисы? Вряд ли

User.findOne({...}).then(user => { console.log(user); done(null, user); })

dima
17.08.2017
12:40:17
а ну да. Че я туплю. Он же не потдерживает async

а как так пишите? Как код так написали?

dima
17.08.2017
12:42:05


Ruslan ?
17.08.2017
12:42:06
Оберни в ```

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