Как получить response используя axios + typescript?

async function getSite(): Promise<any> {
    var result = await axios({
        url: 'https://example.com',
        method: "GET"
    }).catch((e) => {
        console.log(e)
    })

    console.log(response.data)
}

Однако при выводе появляется ошибка:

Property 'data' does not exist on type 'void | AxiosResponse'. Property 'data' does not exist on type 'void'.


Ответы (1 шт):

Автор решения: dlarchikov

Так как Вы гасите ошибку через catch, то соответственно в response может не быть data. Typescript об этом и намекает.

Во-первых (опечатка этот или нет не понятно) у Вас разные переменные. Вы кладете результат в result, а читаете из response.

Во-вторых попробуйте читать вот так

response?.data

Полный пример

import axios from 'axios';

async function getSite(): Promise<any> {
    const result = await axios({
        url: 'https://example.com',
        method: "GET"
    }).catch((e) => {
        console.log(e)
    })

    console.log(result?.data)
}
→ Ссылка