Как написать функцию с возвращаемым значением типа string, возвращающую одно из полей json’а, пришедшее с запросом axios?

Чтобы написать функцию, которая возвращает одно из полей 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-элемента.