Задержка $httpbackend с ресурсом $q и $

Я пытаюсь сделать задержку внутри $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 ответов

Другие вопросы по тегам