What does this error mean
Here’s the code:
let octave = 4;
const piano = Synth.createPiano();
const keys = [
"C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"
];
let pianoDiv = null;
let removeKey = null;
const _HELPER = {
playNextOctave: function(listElem) {
piano.play("C", octave + 1, 1);
listElem.stopPropagation();
},
initializeNextOctaveKey: function() {
const append = document.createElement("div");
append.className = "piano-white";
append.dataset.key = "C-up";
append.id = "removeIfOctaveIs8";
append.addEventListener("pointerdown", _HELPER.playNextOctave);
return append;
},
getNumberOfElementNodes: function(parent) {
let numberOfChildren = 0;
const NODE_ELEMENT_TYPE = 1;
for (let i = 0; i < parent.childNodes.length; i++) {
if (parent.childNodes[i].nodeType === NODE_ELEMENT_TYPE) {
numberOfChildren++;
}
}
return numberOfChildren;
}
};
window.addEventListener("DOMContentLoaded", () => {
pianoDiv = document.getElementById("piano");
removeKey = document.getElementById("removeIfOctaveIs8");
keys.forEach(e => {
const list = document.querySelectorAll(`[data-key="${e}"]`);
for (let i = 0; i < list.length; i++) {
list[i].addEventListener("pointerdown", function(listElem) {
piano.play(e, octave, 1);
listElem.stopPropagation();
});
}
});
document.querySelector('[data-key="C-up"]').addEventListener("pointerdown", _HELPER.playNextOctave);
document.getElementById("go-up").addEventListener("click", () => {
if (octave >= 7) return;
octave++;
if (octave === 7) {
pianoDiv.removeChild(removeKey);
}
});
document.getElementById("go-down").addEventListener("click", () => {
if (octave <= 2) return;
octave--;
if (_HELPER.getNumberOfElementNodes(pianoDiv) === 8) return;
removeKey = _HELPER.initializeNextOctaveKey();
pianoDiv.appendChild(removeKey);
})
});
I don’t see any mention of Promise
s in my code, so why am I getting an error from a Promise
?