Estoy haciendo solicitudes de obtención con un intervalo. En la carga de la página, quiero un intervalo de 2000, pero después de recibir una solicitud, el intervalo debe cambiarse a 20000. ¿Cuál es el mejor enfoque en este caso?
$(document).ready(function(){ setInterval(function(){ $.ajax({ type: 'GET', url : "{% url "messages" object.id %}", success: function(response){ console.log(response); $("#display").empty(); for (var key in response.messages) { var temp = "<div class='container manager' style='color:black'><b>" + response.messages[key].werknemer_naam ; } }, error: function(response){ alert('An error occured') } }); },2000); })No puede cambiar el intervalo, todo lo que puede hacer es borrarlo y volver a llamar a setInterval con el nuevo valor. Pero puede ahorrar un poco de código definiendo la función de devolución de llamada por separado. En tu caso, probablemente haría esto:
function makeRequest() { // make the request } setTimeout(() => { makeRequest(); setInterval(makeRequest, 20000); }, 2000);Por lo tanto, esperaría 2000 ms, luego realizaría la primera solicitud y configuraría la solicitud para que se ejecute cada 20000 a partir de ese momento.