Сообщение от Rise
|
villiwalla, так в какой теме плохо разобрался в классах или асинхронном коде, зачем их смешал тогда, разберись по отдельности; даже если запишешь ответ в переменную объекта, сразу (синхронно) его не получишь, а получишь не сразу (асинхронно); самый примитивный пример асинхронности это setTimeout тренируйся на нем если не понимаешь что это такое:
var requestTime = 5000;
var responseText = 'сразу (синхронно)';
setTimeout(function(){
responseText = 'не сразу (асинхронно)';
alert('2. ' + responseText);
}, requestTime);
alert('1. ' + responseText);
// ты ожидаешь такой ответ '1. не сразу (асинхронно)' но это не верно.
|
Эту ошибку, я уже понял. Меня сейчас интересует, как можно записать ответ в перемеренную внутри объекта.
var Valute = function () {
this.response = null; // = xhr.responseText
var that = this.response;
this.sendRequest = function () {
var xhr = this.createRequest();
xhr.open('GET', this.url, true);
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
that = xhr.responseText; // undefined
}
};
xhr.send(null);
};
};