Ho sviluppato un piccolo software di presentazione costituito da diapositive e risorse per ogni diapositiva. Quando una diapositiva viene sottoposta a rendering, tutte le sue risorse vengono sottoposte a looping e rendering dopo un ritardo utilizzando il metodo setTimeout
. sembra dolce ...Forza setTimeout per attivare il payload prima dell'impostazione originale
Yaaay !, i requisiti sono cambiati, la presentazione è ora necessaria per agire come una presentazione di PowerPoint, l'evento clic del mouse farà sì che il prossimo asset da rendere alla pagina immediatamente.
La mia domanda è; c'è un modo per far scattare immediatamente il mio timeout? Posso ottenere e memorizzare in una pila il timeoutid che viene restituito quando viene creato il timeout. L'unica altra opzione sarebbe quella di cancellare il timeout e quindi ricreare l'elemento, che è molto più elaborato di quello che voglio fare, e non ho voglia di rifare il mio codice troppo.
Qualche idea?
poo, ho pensato che avrei dovuto fare questo, speravo in una soluzione rapida. Dato che la 'mainFunction' ha argomenti calcolati quando il timeout è impostato per la prima volta, dovrò fare un Refactoring per ottenerli nell'evento onlick ... grazie mille – lgados
Vedere la mia risposta qui sotto per un wrapping di chiusura che evita di dover gestire più cose . Sostituisce il timeoutId con un oggetto con un metodo .cancel() e .trigger(). – Killroy