Q Deferred
by John Allan
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/q.js/0.9.2/q.js"></script>
JavaScript
var vm;
vm = Q.defer();
vm.promise.then(function(data) {
console.log(data);
});
vm.resolve('data');
vm.promise.then(function(data) {
console.log('more', data)
})