Почему не работает 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, при втором - объект...
Проблема здесь заключается в том, что при первом обновлении страницы переменная @getlogin у вас не инициализируется внутри функции setAuth перед вызовом callback cb @getlogin. Поэтому при первом обновлении страницы значение переменной @getlogin будет undefined, и только при следующем обновлении страницы она будет содержать нужный объект.
Чтобы исправить эту проблему и гарантировать, что @getlogin будет доступна при вызове колбэка, вам нужно передавать объект @getlogin напрямую в колбэк внутри функции setAuth. Пример исправленного кода:
Проблема здесь заключается в том, что при первом обновлении страницы переменная @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 значением должна быть исправлена.