Esto está funcionando bien:
let timerId = setTimeout( function tick() { this.oneIteration(this.eventsQueue[counter], counter) counter++ if( counter == this.eventsQueue.length ) { clearInterval(this.iteartionInterval) this.stopBtnClick() } timerId = setTimeout(tick.bind(this), this.timeoutDelay) }.bind(this), 100)Mi pregunta es, ¿cómo sería posible deshacerse de varios
.bind(esto)
haciendo uso de un enfoque más moderno con funciones de flecha. Una muestra de este código se publica aquí: enlace a codesandbox