Я использую TypeScript для создания приложения Node.js и хочу получить данные JSON из внешнего API. У меня есть демо-версия кода, который я использую, не могу поднять мою фактическую базу кода.
private async getData() {
return await Axios.get(
`http://dummy.restapiexample.com/api/v1/employees`
).then(response => {
return response.data;
});
}
getReleaseResults() {
this.getData().then(responseData => {
responseData.data.data.forEach((element: any) => {
console.log(element);
});
});
}
Полученное сообщение об ошибке: (узел: 6068) UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'forEach' из неопределенного в C: \ Users \ Caoilinn.Hughes \ OneDrive \ Documents \ TypeScript Демонстрации \ Azure Расширение электронной почты результатов теста \ emailAzureExtension \ app \ out \ js \ apiCaller. js: 43: 36 at processTicksAndRejected (внутренняя / process / task_queues. js: 97: 5) (узел: 6068) UnhandledPromiseRejectionWarning : Необработанное обещание отказа. Эта ошибка возникла либо из-за того, что внутри asyn c -функции не было блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI --unhandled-rejections=strict
(см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (идентификатор отклонения: 1)
(узел: 6068) [DEP0018] Предупреждение об устаревании: отклонение необработанного обещания устарело. В будущем отклонения обещания, которые не обрабатываются, завершат процесс Node.js ненулевым кодом завершения.
Если у меня нет значения для каждого и заменим его на
console.log(responseData.data.data)
У меня нет проблем. К вашему сведению, результирующий набор имеет свойство data, следовательно, «data.data»