Ваш handleResponse
ничего не возвращает, поэтому функция getBreeds
возвращает Обещание, которое разрешает , как только вы получили заголовки (микрозадача после разрешения fetch
), но до анализа ответа.
Всякий раз, когда у вас есть Обещание, вы почти всегда должны либо await
, либо return
, за исключением инициатора, чтобы убедиться, что все соединено правильно. Измените
response.text().then(text => {
на
return response.text().then(text => {
Это вернет обещание .text()
до вызывающего, getBreeds
и до getBreeds
.
(вам также, вероятно, следует поставить .catch
в конец вызова catService.getBreeds
, если он не существует)