Uncaught TypeError: Cannot set property 'onclick' of null
<что-то>.onclick = <что-то ещё>
, так вот первое что-то
равно null
. А равно null
оно может быть, если скрипт запущен раньше, чем на странице появился нужный элемент. Uncaught SyntaxError: Identifier 'menuItems' has already been declared
let(const) menuItems ...
, либо ваш скрипт был подключён дважды. {/*код*/}
) или, лучше, в самовызывающуюся функцию((function(){/*код*/}());
), чтобы не конфликтовать с чужими переменными. (async ()=>{
let delay = (ms) => new Promise(resolve => {
console.log('пошла жара', Date.now())
setTimeout(() => resolve(ms), ms)
})
let obj = [
delay(1500),
delay(2000),
delay(5500)
]
for await (const promise of obj) {
console.log(promise)
}
})();
В data у тебя есть "object with constructor 'Socket'" который где-то зацикливается сам на себя. JSON.stringify не умеет из коробки обрабатывать циклические ссылки.
Если это тебе действительно нужно, а не случайно попало в data - гуглите "JSON.stringify circular replacer".