Este código funciona bien, excepto que no está esperando a que finalice la recuperación, lo que provoca referencias indefinidas a rendimiento. MesHora después de la creación del objeto Rendimiento usando una nueva instrucción. Las referencias a otras propiedades de rendimiento funcionan bien y
exportar clase por defecto Rendimiento {
constructor(lon, lat, inclinacion, azimuth, perdidas) { let fromPVGIS = this.loadRendimiento(lon, lat, inclinacion, azimuth, perdidas); this.MesHora = fromPVGIS.rendimientoMesHora; this.lon = lon; this.lat = lat; this.inclinacion = fromPVGIS.inclinacion; this.azimuth = fromPVGIS.azimuth; this.perdidas = fromPVGIS.perdidas; }; async loadRendimiento(lon, lat, inclinacion, azimuth, perdidas) { const nombreMes = ["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"]; let _PVGIS = {inclinacion: 37., azimuth: -3., perdidas: 0.14, rendimientoMesHora: Array.from(Array(12), () => new Array(24).fill(0))}; var url = './Datos/PVGIS Original.json'; var _rendimientoMesHora = Array.from(Array(12), () => new Array(24).fill(0)); var jsonData; var hora; var mes; try { const response = await fetch(url); if (response.status === 200) { var data = await response.text(); jsonData = JSON.parse(data); for ( hora = 0; hora < 24; hora++) { for ( mes=0; mes<12; mes++) { _rendimientoMesHora[mes][hora] = jsonData[hora][nombreMes[mes]] / 1000.; } } _PVGIS.rendimientoMesHora = _rendimientoMesHora; return (_PVGIS); } else { console.log(response); } } catch (err) { console.log(err); throw err; }; };
};
donde esta el error