Лучше всего придерживаться техники обратного вызова.
Есть 2 реальных способа заставить его работать, оба по сути одинаковы.
$.getJSON("../config/", function(data) {
SomeObject.config = data;
SomeObject.load(); # assuming load tells some-object that it now has data and to get cracking
});
или
$.getJSON("../config/", function(data) {
SomeObject.load( data ); # SomeObject sets itself up and starts doing its thing
});
Попытка использовать $ .getJSON синхронным способом (т. Е. Получить возвращаемое значение) приведет только к слезам и страданиям для вас и людей, использующих ваш сайт, поскольку синхронные соединения тенденция блокировать весь пользовательский интерфейс. :)
Как есть, делать что-то подобное асинхронно
var i = null; #1
$.getJSON("../config/", function(data) { #2
i = data; #3
}); #4
some_function_with(i); #5
Не будет работать, потому что строка 5 почти гарантированно будет выполняться перед строкой 3.