Node JS - get file via AJAX and then use the data

How do I do this asynchronously?

var getData, myFunc;

getData = function() {
  var data = "";
  $.get("http://somewhere.com/data.xml", function(d) {
    data = $("#selector", d).html();
  });
  return data; // does not work, because async callback not yet fired
};

myFunc = function() {
  var data = getData();
  // do something with data here
};

I am happy to completely re-factor to achieve what I want. I am just don't know what design pattern achieves this.

Well, you can't. You can return a promise though:

var getData, myFunc;

getData = function () {
    var d = $.Deferred();
    $.get("http://somewhere.com/data.xml", function (data) {
        d.resolve($("#selector", data).html())
    });
    return d.promise();
};

getData().then(function (data) {
    alert(data);
});

demo http://jsfiddle.net/W75Kt/2/