Вывести текст из файла JavaScript

Хочу сделать функцию, которая возвращает текст из файла, что я делаю не так?
В консоль выводится Uncaught SyntaxError: await is only valid in async function

function sendGetRequest(url) {
  return fetch(url).then(response => {
    return response.text();
  });
}

async function getTextInUrl(url) {
  let result;
  const text = await sendGetRequest(url)
    .then(data => {
      result = data;
      console.log(result);
    });
  return result;

}

const a = await getTextInUrl('frag.glsl');
console.log(a);


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

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

Сделай так, вместо 2 последних строк:

(async()=>{
    const a = await getTextInUrl('frag.glsl');
    console.log(a);
})();

Вот твой код

const sendGetRequest=(url)=>{
    return fetch(url).then((r)=>{
        return response.text();
    });
};

const getTextInUrl=async(url)=>{
    const result = await sendGetRequest(url).then((r)=>{
        // console.log(r);
        return r;
    });
    return result;
};

const start=async()=>{
    const a = await getTextInUrl('frag.glsl');
    console.log(a);
};
start();

Вот "мой" код

(async()=>{
    const result = await fetch('frag.glsl').then((res)=>(res.text()));
    console.log(result);
})();
→ Ссылка
Автор решения: Alexander Lonberg

const url = URL.createObjectURL(new Blob(['Текст из файла'], { type: 'text/plain' }))

function sendGetRequest(url) {
  return fetch(url).then(response => {
    return response.text();
  });
}

async function getTextInUrl(url) {
  let result = await sendGetRequest(url)
  result += '\n\nДобавим текста'
  return result
}

void async function () {
  console.log(
    await getTextInUrl(/*'frag.glsl'*/url)
  )
}()

→ Ссылка