angular.module('demo', []) .controller('directiveParamCtrl', function(){ this.callback = function(promise){ promise.then(function(param){ console.log(param.time, param.mes) // 3, 3秒経ちました }) } }) .directive('directiveParam', function($timeout, $q){ return { scope: { callback: '&' }, template: '<div>directiveParam</div>', link: function(scope,el){ var s = 3; var defer = $q.defer(); $timeout(function