как отделить сервисы от компонента

#reactjs

#reactjs

Вопрос:

Я создал свой служебный файл следующим образом :

 import axios from 'axios'

export const getAll = () => {
    const apiData = axios
        .get('https://localhost:44390/api/DCandidate')
    return apiData
}
 

и вызовите его в функции приложения следующим образом:

 import * as candidate from './services/dCandidateService'

function App() {

  const myData = candidate.getAll()
  console.log(myData)

  return (
    <>
      Axios Testing
    </>
  );
}

export default App;
 

после вызова GetAll() он возвращает ответ следующим образом: введите описание изображения здесь

можно ли вернуть только массив данных? пожалуйста, помогите.

Комментарии:

1. Это должно быть обещание, но вы можете изменить, какое значение это обещание переносит: return apiData.then(result => resut.data)

Ответ №1:

ДА. Вы можете вернуть сам массив данных. Вам нужно сделать функцию асинхронной и дождаться результата. Как только результат будет получен, верните его часть данных.

 import axios from 'axios'

export const getAll = async () => {
    const apiData = (await axios.get('https://localhost:44390/api/DCandidate')).data
    return apiData
}
 

Комментарии:

1. Большое спасибо. Он возвращает объект Promise. В разделе value node я получил свои данные. на самом деле я хочу распечатать только массив данных