Loads of bugs in the old code. Here’s a fixed plnkr: http://plnkr.co/edit/NN0eXFg87Ys2E3jjYQSu?p=preview
The problem mostly was that you didn’t assign your receive
function properly to the scope. It must be done like so:
$scope.receive = function() {
Your code was like
$scope.receive(function() {
solved Angular and $q: strangely, nothing is working at all