我试图在$httpBackend
响应中延迟,并使用$resource
服务来处理它:
$httpBackend.whenGET(/\/courses\/\?id=\d+$/).respond(function(method, url) {
var regexp = /\d+$/;
var position = url.search(regexp);
var course = url.slice(position);
var courseToRet = angular.toJson(getCourse(course));
var defer = $q.defer();
$timeout(function() {
defer.resolve(courseToRet);
}, 500);
return [200, defer.promise, {}];
});
我的$resource
看起来像这样:
var resource = $resource('/courses/', null, {
'update': {method: 'PUT'}
});
function getCourseResource(courseId) {
return resource.get({id: courseId}).$promise;
}
在我的控制器中,我正试图获取这样的数据:
Course.getCourseResource(self.courseId).then(function (result) {
console.log(result);
result.$promise.then(function(data) {
console.log(data);
data.$promise.then(function(data2) {
console.log(data2)
});
});
})
但似乎它不起作用。我没有想法。在培训目的中,我必须以这种方式执行此操作:在$q
中使用$httpBackend
来延迟并通过$resource
获取数据。谢谢!