Я бы предположил, что getContent()
делает асинхронный вызов AJAX.Если это так, функция createMap()
вызывается до получения ответа.
В таком случае я бы изменил функцию getContent()
, чтобы вы могли передать createMap()
функция к нему, и вызвать его в нужное время.
function loadApp() {
getContent( "content.xml", createMap );
}
function getContent( file, fn ) {
$.ajax({
type: "GET",
url: file,
dataType: "xml",
success: parseXml
});
function parseXml(xml) {
var content = [];
$("element", xml).each(function () {
var var1 = $(this).children("var1").text(),
content.push(var1)
});
// Call "fn" instead of returning "content"
fn( content );
}
}