Я пишу webapp, используя express.js.Node.js прослушивает изменение переменной сеанса и запускает событие, отправленное сервером
Мой WebApp достигает следующих
- сообщения пользователя 100 JSON Объекты
- Каждый объект JSON, обрабатывается с помощью службы вызова
- После того, как вызов службы завершается, переменная сеанса увеличивается
- При добавлении переменной сеанса серверное событие должно быть отправлено клиенту для обновления индикатора выполнения.
Как добиться прослушивания изменения переменной сеанса для запуска события, отправленного сервером?
Прослушивание переменного изменения - не единственное решение, которое я ищу?
Мне нужно добиться отправки события, отправленного сервером, после обработки объекта JSON.
Любое соответствующее предложение приветствуется
Edit (основано на комментарий Альберто Zaccagni в)
Мой код выглядит следующим образом:
function processRecords(cmRecords,requestObject,responseObject)
{
for (var index = 0; index < cmRecords.length; index++)
{
post_options.body = cmRecords[index];
request.post(post_options,function(err,res,body)
{
if(requestObject.session.processedcount)
requestObject.session.processedcount = requestObject.session.processedcount + 1;
else
requestObject.session.processedcount = 1;
if(err)
{
appLog.error('Error Occured %j',err);
}
else
{
appLog.debug('CMResponse: %j',body);
}
var percentage = (requestObject.session.processedcount/requestObject.session.totalCount) * 100;
responseObject.set('Content-Type','text/event-stream');
responseObject.json({'event':'progress','data':percentage});
});
};
}
Когда первая запись обновляется и сервер боковое событие запускается с использованием объекта responseObject (объект экспресс-ответа)
Когда вторая запись обновляется, и я пытаюсь запустить событие на стороне сервера, используя тот же объект responseObject. Я получаю сообщение об ошибке сказав не может установить заголовок ответа, который уже был послан
Почему вы должны слушать на переменную? Почему вы не отправляете событие сразу после его обновления? –