#arrays #angular #api #object
#массивы #angular #API #объект
Вопрос:
у меня есть API, ответ которого приведен ниже на скриншоте. Я хочу получить данные моего объекта массива и отобразить их на веб-странице. Но я получил undefined в качестве вывода, пока у меня есть данные в моем объекте массива. Пожалуйста, скажите мне, где я делаю неправильно.
код служб:
testfxn(){
return(
this.apiCallService.GET(`${this.myService.myendpoint.xyz}`)
.pipe(
map((testData)=>{
let testresp=testData.response[4];
return testresp;
})
)
);
}
component.ts:
testing(){
this.reportService.testfxn().subscribe((r)=>{
this.resp=r
console.log(this.resp)
})
}
Ответ №1:
testing(){
this.reportService.testfxn().subscribe((data) => {
this.testingdate=data;
console.log(this.testingdate);
});
}
testfxn()
это асинхронная функция. Возможно, что ваш console.log
будет выполнен до того, как функция вернет данные и будет использована subscribe()
Комментарии:
1. все тот же результат
2. я не могу console.log (testData) в моем файле service.ts. IDE не позволяет мне этого делать.
3. Подождите, у вас
testData.userLogtime[0]
нетbifurData
объекта. Вы имели в видуdata.date
?4. дата является свойством моего объекта массива, имя объекта массива — userLogtime, как вы можете видеть на скриншоте
5. Да. Вы возвращаете 1-й объект из
userLogtime
массива из сервиса. В вашем компоненте вы пытаетесь получить доступbifurData
к тому, что не является свойством возвращаемого вами объекта.