You need to call your callback with $apply since it's called outside of Angular. Since this is a service, you'll need to include $rootScope in your service:
beta.service('betaServ', function($q, $rootScope) {
this.slow = function () {
d = $q.defer()
setTimeout(function () {
console.log('before resolve');
$rootScope.$apply(d.resolve);
console.log('after resolve');
}, 2000);
return d.promise;
}
});