使用$ q和$ resource的$ httpbackend延迟

时间:2015-12-17 13:16:20

标签: angularjs resources delay httpbackend

我试图在$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获取数据。谢谢!

0 个答案:

没有答案