Я некоторое время работал с JavaScript, но недавно мне пришлось использовать Angular (v7).Я застрял в ситуации, когда у меня установлено значение сеанса в экспресс-сеансе, и это значение очень динамично.Я не могу отобразить это значение в своем представлении в режиме реального времени.
Это мой первый вопрос о SO, и я знаю, что могу быть очень расплывчатым, но, пожалуйста, дайте мне знать, если вы считаете, что можете помочьменя.Я могу уточнить больше, если это необходимо.
Я сделал переменную Observale в моем компоненте, и существует служба для вызова экспресс-контроллера, который, в свою очередь, вызывает экспресс-модель, в которой значение сеанса считывается и возвращается.
Теперь этот вызов происходит только один раз, но я хочу, чтобы этот вызов автоматически возвращал значение сеанса всякий раз, когда оно изменяется.
app.component.html
<button *ngIf="sessionValue$ | async as sval">
{{sval.status}}
</button>
app.component.ts
this.sessionValue$: Observable<any>;
ngOnChanges(change) {
this.intialise();
this.sessionValue$ = this.sessionService.get();
}
sessionService.ts
url = environment.appUrl + 'session';
get(): Observable<any> {
return this.http.get<any>(this.url + '/status');
}
express.session.controller.js
exports.status = function (req, res) {
try {
sessioModel.get(req.session, function (result) {
res.status(200).send(result);
});
} catch (error) {
logger.error(error);
}
}
express.session.model.js
exports.get= function (session, handleResponse) {
var sessionValue= session['variableMe'];
const retVal= sessionValue['nowValue'];
if (!retVal) {
handleResponse({ status: "" });
} else {
handleResponse({ status: retVal });
}
};
Я ожидаю, что значение на html-странице будет меняться каждый раз, когда переменная сеанса меняет свое значение.