Задать вопрос
nepster-web
@nepster-web

Почему постоянно лезет undefined?

Работаю с node.js. Есть вот такая конструкция:
var result = findUserByHash('hash', function(user){
            console.log (user);
            return user;
        });

        console.log (result);


Момент в том, что внутри колбэка все хорошо, однако при вызове console.log (result), показывает undefined.
Насколько я понял, это фишка асинхронности?
Это получается, нужно код выстраивать цепочкой из колбэков?
  • Вопрос задан
  • 645 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
На сколько я поля это фишка асинхронности !?
Правильно поняли.

Это получается нужно код выстраивать цепочкой из калбэков ?
Необязательно. (для nodejs, понятно, своя специфика, но общие принципы такие же, естественно).
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Да, именно так, на момент вызова console.log колбэк еще не отработал. Добро пожаловать в callback hell. Альтернативы:
- промисы, позволяют уменьшить вложенность колбэков
- корутины - сложно но можно писать асинхронный код в синхронном стиле, повторюсь это сложно
- async/await - еще не запилили в js.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
14 дек. 2024, в 07:35
500 руб./за проект
14 дек. 2024, в 05:57
50000 руб./за проект
14 дек. 2024, в 02:49
500 руб./за проект