Конечно, это проблема времени.С doLoad()
в функции getDate
вы просто запускаете запрос и не ждете его завершения, чтобы подготовить данные в следующей строке.У вас есть готовые данные только в callback: function
метода doLoad
.Поэтому все, что вам нужно сделать, лучше всего отправить запрос в одной функции, а затем в callback:function
есть функция, которая будет использовать возвращаемые данные.
Обновление
Также я только что заметил, что проблема с областью действия тоже.Вы должны передать область в запросе JSONP, добавив
url: "http://example.com/somejson",
scope: this, //this line
callbackKey: "callback",
А затем в getDate вы должны: this.data
, поскольку a
является локальной переменной в методе doLoad
.