Tengo una hora de inicio de evento y quiero ejecutar una secuencia de comandos 10 segundos después de que comience el evento, pero no sé cómo activar la secuencia de comandos.
const date = Date().toString(); const currentDateParse = Date.parse(date); const trigger = Date.parse(startTime) + 1000 * 10 Entonces así es como intento activar el script pero no funciona. ¿Cómo inicio mi función cuando currentDateParse es igual a trigger ? O, en pocas palabras, 10 segundos después de que comience el evento.
if (currentDateParse = trigger) <function code underneath works already>Calcule la diferencia de tiempo entre ahora y cuando desea activar el script, y use setTimeout() para llamarlo en ese momento.
const timediff = trigger - new Date().getTime(); setTimeout(function() { // do what you want }, timediff);Pruebe esto (explicaciones a continuación):
let startTime = "18:00"; let currentTime = new Date(); let target = new Date().parse(startTime); let timeout = target - currentTime + 1000 * 10; // how long should it wait till the functions is executed function runTenSecAfterEvent() { // do something here } setTimeout(runTenSecAfterEvent, timeout); Después de calcular target (la hora de inicio) y el tiempo currentTime , necesita saber la diferencia de tiempo entre ellos (tiempo de timeout ), por lo tanto, target menos tiempo currentTime . Después de eso, agregas los 10000ms .
Y luego define la función que se ejecutará 10 segundos después de que ocurra el evento ( runTenSecAfterEvent() ).
Finalmente, crea un tiempo de espera .