Показать сообщение отдельно
  #1 (permalink)  
Старый 07.12.2020, 15:31
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

как возвратить данные из callback
Доброго всем суток. Сам занимаюсь разработкой 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);


Подскажите пожалуйста в чем проблема может быть
Изображения:
Тип файла: jpg download.jpg (8.9 Кб, 2 просмотров)
Тип файла: jpg download (1).jpg (11.2 Кб, 1 просмотров)

Последний раз редактировалось SolomonRei, 07.12.2020 в 15:34.
Ответить с цитированием