AngularJS $q Promise サンプル03
var app = angular.module('app', []);
app.controller('Ctrl', function($q, $timeout) {
function asyncHello(name) {
var deferred = $q.defer();
$timeout(function() {
if(typeof(name) === 'string') {
deferred.resolve('Hello, ' + name);
}
else {
deferred.reject(name + 'は文字列ではありません。');
}
}, 1000);
return deferred.promise;
}
var r = document.getElementById('result');
var promise = asyncHello(326);
promise.then(
function(msg) {
r.innerHTML = msg;
},
function(msg) {
r.innerHTML = msg;
}
);
});