$q 链式操作
angular.module('ecApp', [])
.controller('testController', function($http, $scope, $q, $timeout) {
function okToGreet(name) {
return name == "andy";
}
function asyncGreet(name) {
var deferred = $q.defer();
setTimeout(function () {
deferred.notify('About to greet ' + name + '.');
if (okToGreet(name)) {
deferred.resolve('Hello, ' + name + '!');
} else {
deferred.reject('Greeting ' + name + ' is not allowed.');
}
}, 1000);
return deferred.promise;
}
var df = $q.defer();
var promise = df.promise = asyncGreet("andyf").then(function() {
return "KLOK";
}, function() {
return $q.reject("KLNOOK");
});
promise.then(function(data) {
console.log(data);
}, function(data) {
console.log(data);
});
});