var processStatusCheck = setInterval(function statusCheck() {
sequelize.query(dbQuery).then(function (data) {
winston.info(' Status:', importStatus);
if (importStatus === true) {
winston.info('Inside', pollCount);
clearInterval(processStatusCheck);
addProcess(Id, function (response) {
res.send(200)
});
} else {
if(pollCount > 15){
winston.info('It came here !!!', pollCount);
res.sendStatus(500);
}else{
winston.info('Incrementing.....');
pollCount++;
setTimeout(statusCheck, 18000);
}
}
});
}, 5000);
Я пытаюсь реализовать асинхронную функцию Javascript. Я хочу непрерывно запрашивать базу данных, пока статус не станет истинным,
Первоначально вызов выполняется через 5 секунд, как указано в setInterval, но как только он достигает setTimeout, он непрерывно вызывает функцию. Я хочу, чтобы он был вызван через 18 секунд. Если время в setTimmeout меньше 5 секунд, ответ отправляется немедленно, и я получаю сообщение об ошибке «Не удается установить заголовки после их отправки».
Вызывает ли проблема наличие setInterval и setTimeout? Пожалуйста, ведите меня.