Это мой angular кодовый блок.
demandCurveInfo = [];
ngOnInit() {
this.zone.runOutsideAngular(() => {
Promise.all([
import('@amcharts/amcharts4/core'),
import('@amcharts/amcharts4/charts'),
import('@amcharts/amcharts4/themes/animated'),
import('@amcharts/amcharts4/maps'),
import('@amcharts/amcharts4-geodata/worldLow'),
])
.then(modules => {
this.createDemandCurve(modules);
})
.catch(e => {
console.error('Error when creating chart', e);
});
});
}
Здесь я пытаюсь получить данные API.
async getDemandCurveInfo(statusType: string, valueType ) {
const params = [];
params.push({code: 'StreamCode', name: 'TG_PS'});
params.push({code: 'segmentCodes', name: ['US']});
params.push({code: 'checkinFrom', name: '2019-01-01'});
params.push({code: 'checkinTo', name: '2019-12-31'});
params.push({code: 'statusType', name: statusType});
params.push({code: 'valueType', name: valueType});
return await this.dashboardServiceHandler.getSegmentDemand([], params).toPromise();
}
Внутри этой функции я вызываю вышеуказанный метод.
createDemandCurve(modules: any) {
const am4core = modules[0];
const am4charts = modules[1];
const am4themesAnimated = modules[2].default;
this.getDemandCurveInfo('REAL', 'TTV').then((data) => {
this.demandCurveInfo.push(data.valueOf().data);
console.log(this.demandCurveInfo[0]); <- first
});
console.log(this.demandCurveInfo[0]); <- second
}
Здесь я я пытаюсь получить this.demandCurveInfo[0]
данные снаружи. Но мой второй файл console.log выдает результат, подобный undefined . Первый файл console.log выдает результат, подобный этому. Как я могу получить Данные console.log снаружи?.