The solution I went with was firing a custom event. Seems to be working because of javascript's synchronous event handling queue.
function getFeed()
{
return function callback(result)
{
if (!result.error)
{
console.log("Feed retrieved.");
fireFeed(result.feed);
}
else
console.log("Feed retrieval failed!");
}
}
function fireFeed(feed)
{
//console.log(feed);
var event = new CustomEvent(
"newFeed",
{
detail: {
message: feed
},
bubbles: true,
cancelable: true
}
);
document.dispatchEvent(event);
}
document.addEventListener('newFeed', function(e)
{
var feed = e.detail.message;
console.log('feed triggered');
//console.log(feed);
buildFeed(feed);
},true);