Чтобы написать функцию, которая возвращает одно из полей JSON-объекта, полученного с запросом axios, с типом возвращаемого значения string, вам потребуется использовать TypeScript для явного указания типов данных.
Первым делом, установите библиотеку axios, если ее нет в вашем проекте:
npm install axios
Затем, импортируйте библиотеку axios и используйте метод axios.get
для отправки GET-запроса и получения JSON-объекта.
import axios, { AxiosResponse } from 'axios'; interface MyResponse { field1: string; field2: number; field3: boolean; } async function getFieldFromJson(url: string): Promise<string> { const response: AxiosResponse<MyResponse> = await axios.get(url); const data: MyResponse = response.data; return data.field1; }
В приведенном выше коде мы создали интерфейс MyResponse
, который определяет поля JSON-объекта с помощью типов TypeScript. В функции getFieldFromJson
мы указали, что она возвращает Promise<string>
, что означает, что она будет возвращать значение типа string
как результат асинхронной операции.
Затем мы используем axios.get
для выполнения GET-запроса и получения ответа в виде объекта AxiosResponse<MyResponse>
. Затем мы извлекаем поле data
из ответа и присваиваем его переменной data
типа MyResponse
. В конце функции мы возвращаем значение field1
из данных.
Теперь вы можете вызвать эту функцию и получить значение поля field1
из JSON-объекта:
const url = 'https://example.com/api/data'; getFieldFromJson(url) .then((result) => { console.log(result); // значение поля field1 }) .catch((error) => { console.error(error); });
Обратите внимание, что вы должны заменить https://example.com/api/data
на фактический URL вашего JSON-элемента.