fetch и обычные функции
Друзья, и снова нужна ваша помощь...
Пытаюсь освоить функцию fetch и работу с ней, но не обходится без странных проблем...
Итак, написал я функцию, которая подгружает данные из текстового файла на сервере в момент загрузки страницы приложения.
данная функция выполняется после полной загрузки xtml
-документа через onload
и есть у меня обычная функция, которая должна принять в себя полученное значение new_text
, данная функция обьявлена в другом скрипте, который идет за этим:
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
let new_text;
function default_story() {
fetch("./story/game/game.txt")
.then((response) => {
return response.text();
})
.then((data) => {
console.log(data)
new_text = data;
});
}
</script>
<script type="text/javascript">
function load_default_story() { file_reader(new_text) }
function file_reader(text) { console.log(text) }
</script>
</head>
<body onload="default_story()">
<button id="btn_start" class="btn_menu" type="button" name="start" onclick="load_default_story()">Start</button></body>
По итогу при нажатии на кнопку, в консоль должно опубликоваться содержимое new_text
.
Функция file_reader
отлично работает с другими функциями и кодом js, но каждый раз, когда я пытаюсь передать ей new_text
у меня консоль выдает ошибку file_reader is not defined
.
Я так понимаю, что это как-то связано с особенностями работы промисов, но по идее, default_story()
отрабатывается, когда уже все данные подгружены, так почему file_reader is not defined
?
Подскажите, что не так и как это поправить?