Внутри моей AuthController, я делаю следующее:Сессии не сохранение в вызове функции
request.post({url: 'https://graph.api.smartthings.com/oauth/token', form: authData} , function(err, resp, body){
info = JSON.parse(body);
req.session.accessToken = info.access_token;
getEndpoint(req.session.accessToken, function(err, resp) {
if(err) {
//TODO: Handle error
console.log(err);
} else {
req.session.endpointUri = resp;
}
});
console.log("endpoint " + req.session.endpointUri);
res.view('test', {
accessToken: req.session.accessToken,
});
});
Как вы можете видеть, что я пытаюсь установить 2 сеансов, и маркер доступа endpointUri.
Сессия accessToken
сохраняет все в порядке, и я могу получить к ней доступ от других контроллеров, однако мой endpointUri
не сохраняет.
Я тестировал функцию, и resp возвращается, и если я выхожу из сеанса прямо после установки его в инструкции else, это работает.
Если я попытаюсь выйти из сеанса вне инструкции else, он не определен.
Что здесь происходит?
Конечная точка устанавливается на функцию async, которая не завершена, когда вы возвращаете представление. –