@alx1987

Почему подгрузка конфига срабатывает через раз?

Здравствуйте, прошу помочь. Не могу понять, почему App.config подгружается через раз.
Периодически возникает ошибка: Uncaught TypeError: _this.config.done is not a function

var App = function() {
	this.init();
};
App.prototype = {
	items: $.getJSON("/items.json", function(data) {
		App.items = data;
	}),
	config: $.getJSON("/config.json", function(data) {
		App.config = data;
	}),
	init: function() {
		var _this = this;
		
		_this.items.done(function() {
			_this.config.done(function() {
				_this.initConfig();
			});
		});
  },
  ...............
}, $(document).ready(function() {
    App = new App
});
  • Вопрос задан
  • 219 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alx1987 Автор вопроса
Вылечилось таким образом:

var App = function() {
	this.init();
};
App.prototype = {
	items: $.ajax({
		url: "/items.json",
		dataType: "json",
		async: false
	}),
	config: $.ajax({
		url: "/config.json",
		dataType: "json",
		async: false
	}),
	init: function() {
		var _this = this;
		
		_this.items.done(function(data) {
			_this.items = data;
		});
		_this.config.done(function(data) {
			_this.config = data;
			_this.initConfig();
		});


Но все равно не могу понять почему так ... т.е. сейчас ITEMS и CONFIG запрашиваются последовательно, а в первом варианте одновременно ... но ведь у меня четко указано - запрашиваем ITEMS, когда done, запрашиваем CONFIG, но в консоли все равно видно, что они параллельно подгружаются
Ответ написан
coderisimo
@coderisimo Куратор тега JavaScript
А вообще у вас items и config вызываются прямо при создании объекта ))))
нужно так написать
items: function(){   
 $.getJSON("
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы