Hola, el problema es de sincronía.
fetch
realiza un proceso asíncrono, por lo tanto JS pone dicho proceso en el
event loop
y continúa la ejecución del código que venga después de la llamada a
fetch
. Es por ello que el
console.log
fuera del
fetch
te devuelve en este caso un
array
vacío, ya que el mismo aún no ha sido llenado. Para resolverlo tendrías que implementar alguna promesa para usar
async/await
o implementar tu lógica dentro de la segunda llamada
then
del método
fetch
. Saludos —
Mauricio Contreras 1 min ago