Код: Выделить всё
const signout = document.getElementById('logout');
const signoutMobile = document.getElementById('logout-mobile');
[signout, signoutMobile].forEach(el => {
if (el) {
el.addEventListener('click', async () => {
await logout();
});
}
});
async function logout() {
// fetch logic
}
< /code>
Тем не менее, это бросает ошибку в консоли браузера: < /p>
Uncaught TypeError: Cannot read properties of undefined (reading 'logout-mobile')
< /code>
Но когда я переписываю ту же логику, используя цикл для цикла, он работает отлично: < /p>
const elements = [signout, signoutMobile];
for (let i = 0; i < elements.length; i++) {
const el = elements[i];
if (el) {
el.addEventListener('click', async () => {
await logout();
});
}
}
- logout declaration, 2)forEach
- for, 2) logout declaration
- logout declaration, 2) for
Doesn't work:
[*]
- forEach, 2) logout declaration
Дополнительная информация: < /h3>
Оба фрагмента помещаются в один и тот же файл скрипта. /> Элементы с идентификаторов и идентификаторов и мобильными входами существуют в Dom. < /li>
Функция журнала объявлена и работает должным образом.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -undefined