Estoy tratando de implementar una aplicación que crea un "mensaje" para cada letra cada vez que el ritmo marca. Sin embargo, parece que me he topado con una pared al tratar de encontrar un algoritmo.
Mi código:
import EventEmitter from "eventemitter3"; import Beat from "./Beat"; export default class Application extends EventEmitter { static get events() { return { READY: "ready", }; } constructor() { super(); this._beat = new Beat(); this._create(); this.emit(Application.events.READY); } _create() { const lyrics = ["Ah", "ha", "ha", "ha", "stayin' alive", "stayin' alive"]; let count = 0; this._beat.on("update", (bit) => { const message = document.createElement("div"); message.classList.add("message"); message.innerText = lyrics[bit]; document.querySelector(".main").appendChild(message); }) } }Intervalo de tiempo:
import EventEmitter from "eventemitter3"; export default class Beat extends EventEmitter{ static get events() { return { BIT: "bit", }; } constructor() { super(); setInterval(() => { console.log("bit"); this.emit(Beat.events.BIT); }, 600); } }Te estás suscribiendo al evento 'update' , que nunca se dispara.
Fragmento de código fijo:
this._beat.on(Beat.events.BIT, (bit) => { const message = document.createElement("div"); message.classList.add("message"); message.innerText = lyrics[bit]; document.querySelector(".main").appendChild(message); })