Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rootzig

Como setar o setInterval com tempo randômico

Recommended Posts

Olá,

 

Preciso deixar o setInterval com o tempo randômico a cada passada. É possível?

tempo = mt_rand(3, 10);
milesegundos = (tempo*1000);
var atualizar = setInterval(function(){
  $.ajax({
	url        : 'endereco',
	type	   : 'GET',
        success: function (retorno){
	                var resp = retorno.split('|');
	                //alert(resp[0]);
		        	if(resp[0] == 'parar'){
	                	  $('.status-sms-envio').html('Terminou');
	                	  clearInterval(atualizar);
		        	}else{
	        		if(resp[0] == 'nao_encontrado'){

		        		}else{

		        			$('.'+resp[1]).html('');
	                		$('.'+resp[1]).html(resp[0]+' levou <b>'+tempo+'</b> segundos');
		        		}
		        	}
	               
	                
		        },
		        async: false
				});

		}, milesegundos);

Compartilhar este post


Link para o post
Compartilhar em outros sites


var tempo, milesegundos;

var atualizar = setInterval(function(){

tempo = mt_rand(3, 10);

milesegundos = (tempo*1000);

$.ajax({

url:'endereco',

type: 'GET',

async: false

}).done(function(retorno) {

var resp = retorno.split('|');

//alert(resp[0]);

if(resp[0] == 'parar') {

$('.status-sms-envio').html('Terminou');

clearInterval(atualizar);

} else {

if(resp[0] == 'nao_encontrado') {

} else {

$('.'+resp[1]).html('');

$('.'+resp[1]).html(resp[0]+' levou <b>'+tempo+'</b> segundos');

}

}

}).fail(function(error) {

alert("Houve algum erro: " + error.responseText);

});

}, milesegundos);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Fiz algumas alterações e deu certo, só que não estou conseguindo parar.

Dependendo da resposta que pego no PHP eu preciso parar o contador.

var enviar_sms_teste = function(dongle){
	tempo = mt_rand(3, 10);
	milesegundos = (tempo);
    
   $.ajax({
	    url : 'url'+dongle,
	    type: 'GET',
	    async: false
	}).done(function(retorno) {
	    var resp = retorno.split('|');
	    //alert(resp[0]);
	    if(resp[0] == 'parar') {
	      $('.status-sms-envio').html('Terminou');
	      //clearInterval(atualizar);
	      clearTimeout(atualizar);
	      return;
	    } else {
	      if(resp[0] == 'nao_encontrado') {
	      } else {
	        $('.'+resp[1]).html('');
	        $('.'+resp[1]).html(resp[0]+' Próximo envio em <b>'+(milesegundos/1000)+'</b> segundos');
	      }
	    }   
	}).fail(function(error) {
	    alert("Houve algum erro: " + error.responseText);
	});
	console.log("Executei agora o [ "+dongle+" ] e se passaram "+milesegundos+" segundos!");
	atualizar = setTimeout(function() { enviar_sms_teste(dongle) },milesegundos);

}

Obrigado, té mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.