Показать сообщение отдельно
  #1 (permalink)  
Старый 01.11.2018, 11:47
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Выполнение функции с промежутком времени.
Добрый день. Есть функция которая сравнивает время.
В функции если время превышает заданное, отправляется post запрос на сервер.
Вот функция, она обновляется с интервалом в 10 секунд:
var check = true;

function downtime (d1, d2){
    //d1 это время, например 2018-11-01 11:41:53
    //d2 это текущее время сервера
    d1 = new Date(Date.parse(d1));  //преобразуем строку
    d2 = new Date(Date.parse(d2)).getTime();
    var min15 = d1.setSeconds(d1.getSeconds() + 900);  //прибавляем к времени 15 минут
     //check становится false во время другого условия
     if(min15 <= d2 && check == false){
           check = true;
           $.post( "index.php");
     }
     
}


Сам вопрос, как отправлять post запрос только по одному разу если время так же превышает 30 минут и 60 минут.

Например вот так, но это я так понимаю не правильно обращаться так к check:
var check = true;

function downtime (d1, d2){
    d1 = new Date(Date.parse(d1));
    d2 = new Date(Date.parse(d2)).getTime();
    var min15 = d1.setSeconds(d1.getSeconds() + 900); 
    var min30 = d1.setSeconds(d1.getSeconds() + 1800); 
    var min60 = d1.setSeconds(d1.getSeconds() + 3600); 

     if(min15 <= d2 && min30 >= d2 check == false){
           check = true;
           $.post( "index.php");
     }
     if(min30 <= d2 && min60 >= d2 check == true){
           check = false;
           $.post( "index.php");
     }

     if(min60 <= d2 &&  check == false){
           check = true;
           $.post( "index.php");
     }
     
}


Подскажите как правильно сделать отправку post запроса если эта функция обновляется раз в 10 секунд?
Ответить с цитированием