Estoy creando un sitio web para agregar estadísticas de varios juegos. La primera parte lee archivos json que contienen las estadísticas (múltiples archivos por juego) y completa un elemento de selección HTML para que el usuario seleccione qué juegos incluir en las estadísticas (permitiendo al usuario seleccionar múltiples juegos). Funciona en Chrome y Edge en mis computadoras, pero en Safari (iPhone) solo se muestra uno de los juegos como una opción (el 4to de 5 juegos). A continuación se muestra la función para leer los archivos. ¿Por qué esto no funcionaría en Safari? No estoy seguro si tiene que ver con await/async o algo más.
jsonFiles = ['file1.json', 'file2.json', 'file3.json']; async function readGames() { let games = {}; for (let file of jsonFiles) { let playlist; let gameDate; let response = await fetch(file); let data = await response.json(); playlist = data.playlist; gameDate = (new Date(playlist.slice(playlist.indexOf('(')+1, playlist.indexOf(')'))).getTime())/10000; if (!(gameDate in games)) games[gameDate] = playlist; } //Remove previous options in the select element while(gamesSelect.firstChild) { gamesSelect.removeChild(gamesSelect.firstChild); } const gameValues = Object.values(games); for (let game of gameValues) { let option = document.createElement('option'); option.setAttribute("value", game); option.innerHTML = game; gamesSelect.append(option); } }