Как вывести данные из request

Пытаюсь вернуть результат из request но никак не получается, подскажите в чем проблема

function parsing() {
    const URL = 'https://random.dog/woof'
    let result: string[]= []
      request(URL, async function (err: any, res: { statusCode: any; }, body: any) {
        if (err) throw err;

        let arr: string = body.split('.').reverse()
          
        if (arr[0] === 'mp4' || arr[0] === 'gif' || arr[0] === 'webm') {
            parsing()
        } else {
           result.push("https://random.dog/" + body)
         return result[0]
        }
    })

return result[0]
}


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

Автор решения: Артем Журбей

Вот ответ:

function parsing() {

    const URL = 'https://random.dog/woof';
    return axios.get(URL).then(res => {
        let file: any = res.data;

        let arr = file.split('.').reverse()

        if (arr[0] === 'mp4' || arr[0] === 'gif' || arr[0] === 'webm') {
           return false
        }

        return "https://random.dog/" + file
    })


}
async function get() {
    let a = await parsing()
    while (!a) {
        a = await parsing()
    }
    return a
}

Подскажите как можно код почистить, а то понимаю что функция get только мешает но без нее не будет работать

→ Ссылка