Показать сообщение отдельно
  #1 (permalink)  
Старый 20.02.2017, 09:24
Аватар для villiwalla
Интересующийся
Отправить личное сообщение для villiwalla Посмотреть профиль Найти все сообщения от villiwalla
 
Регистрация: 16.02.2016
Сообщений: 29

Как вернуть не пустой response из класса(объ?
Понятно что возвращается undefined когда вызывается console.log(dt.sendRequest()); т.e onreadydstatechenge == 1. Как вернуть xhr.responseText что бы потом можно было передать в showData (в любую переменную, в любую другую функцию как аргумент). Знаю что для решения можно так showData(xhr.responseText), но этот вариант с внешней функцией для возврата не не нравиться.
var Valute = function (url) {

        this.url = url;

        this.createRequest = function () {
            this.request = new XMLHttpRequest();
            return this.request;
        };

        this.sendRequest = function () {
            var xhr = this.createRequest();
                xhr.open('GET', this.url, true);
                xhr.onreadystatechange = function () {
                if(xhr.readyState == 4 && xhr.status == 200) {
                    return xhr.responseText;
                }
            };
            xhr.send(null);
        };

    };

    var dt = new Valute('data.text.html');
    console.log(dt.sendRequest());

    function showData(data) {
        let wrap = document.querySelector('#curs');
        wrap.innerText = data;
    }

Последний раз редактировалось villiwalla, 20.02.2017 в 09:32.
Ответить с цитированием