Метод setInterval
корректно работает на сервере разработки и интеграции сервера, но работает только один раз на качественном сервере.Глядя в console
, об ошибках не сообщается.Трудно найти источник этой ошибки.
Кто-то может иметь представление об этой проблеме?
Ps: у меня один и тот же код, развернутый с одинаковыми библиотеками на трех серверах и в той же версииchrome browser
, который я использую для тестов.
Вот минимальный код:
//start timer
var varTimer = 0;
refreshPeriod = 5
varTimer = setInterval(readTimer, 1000);
// function to refresh my datatbale
refreshDataTable();
function refreshDataTable() {
var inputs = {};
flexnetContext.callOperation('FLA_ASO_CockpitOrdersDatatable_001', inputs, successOrdersDataExecution, failureExecution);
}
var successOrdersDataExecution = function() {
// do some process here and restart timer
varTimer = setInterval(readTimer, 1000);
}
var successExchangerReadExecution = function() {
// do some process here and restart timer
varTimer = setInterval(readTimer, 1000);
}
var failureTimer = function(message) {
//display error and stop all timer
newMessage(message, 'error');
}
function readTimer() {
// stop timer here and do processing and restart timer in fucntion "successExchangerReadExecution"
clearInterval(varTimer);
var inputs = {};
flexnetContext.callOperation('FLA_ASO_CockpitCheckEvent_001', inputs, successReadExecution, failureTimer);
inputs = {};
inputs.ExchangerID = '';
inputs.Warehouse = warehouse;
flexnetContext.callOperation('FLA_ASO_ExchangerEvent_001', inputs, successExchangerReadExecution, failureTimer);
refreshCount += 1;
if (refreshCount == refreshPeriod) {
refreshDataTable();
refreshCount = 0;
}
}