Доброго всем суток. Сам занимаюсь разработкой backend на php. Попросили сделать API. Вроде не сложно. Сделал, решил нормальный скрипт на js написать, с классами, промисами, со структурой в общем (Думал, а че там сложного такого) В итоге споткнулся на callback-ах
метод
#readHTMLFile(file, back) {
let http = new XMLHttpRequest();
if (this.#checkFileExist(file, http)) {
http.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200)
if(back) window.responseCustom = back(this.responseText)
}
http.open("GET", file, true);
http.send();
console.log(window);
} else (new API()).ShowError({message: 'Error in reading the file component'});
}
я вызываю back функцию, которая дальше идет, и возвращает в ответ промис, который я хочу вернуть из функции.
Но как бы я не старался, не могу этого сделать. Я уже и в window - решил записать
if(back) window.responseCustom = back(this.responseText)
Я вижу, в консоле, что св-во есть (смотри вложения)
console.log(window);
Но когда пытаюсь напрямую обратиться, то пишет undefined
console.log(window.responseCustom);
Подскажите пожалуйста в чем проблема может быть