Почему не работает callback? setAuth: ( some, cb) ->
if !some
@getlogin =
response: 'not found'
object: 'user'
else
@getlogin =
response: 'success'
object: 'user'
data: getLogin
cb @getlogin
Вызываю так:
setAuth( some, (cb)-> res.send cb
)
В итоге при первом обновлении страницы @getlogin дает undefined, при втором - объект...

21 Авг 2019 в 07:06
231 +1
0
Ответы
1

Проблема здесь заключается в том, что при первом обновлении страницы переменная @getlogin у вас не инициализируется внутри функции setAuth перед вызовом callback cb @getlogin. Поэтому при первом обновлении страницы значение переменной @getlogin будет undefined, и только при следующем обновлении страницы она будет содержать нужный объект.

Чтобы исправить эту проблему и гарантировать, что @getlogin будет доступна при вызове колбэка, вам нужно передавать объект @getlogin напрямую в колбэк внутри функции setAuth. Пример исправленного кода:

setAuth: ( some, cb) ->
if !some
@getlogin =
response: 'not found'
object: 'user'
else
@getlogin =
response: 'success'
object: 'user'
data: getLogin
cb @getlogin
# Вызываем функцию setAuth с передачей колбэка напрямую
setAuth( some, (result) ->
res.send result
)

Теперь переменная @getlogin будет доступна при вызове колбэка, и проблема с undefined значением должна быть исправлена.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 173 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир