2016-03-29 1 views
0

J'ai trouvé this article comment créer un retard de serveur artificiel lors de l'utilisation $ httpBackend pour les données moqueuses.

Y a-t-il un moyen de faire cela par simulation? Peut-être quelque chose comme:

$httpBackend 
     .whenGET(/\/my\/endpoint$/) 
     .respond(data, 2000); 

OU

$httpBackend 
     .whenGET(/\/my\/endpoint$/) 
     .withDelay(2000) 
     .respond(data); 

Répondre

1

Vous pouvez utiliser angular-mocke2e-maydelay

si vous utilisez bower

bower install angular-mocke2e-maydelay 

dans index.html

<script src="/bower_components/angular-mocks/angular-mocks.js"> </script> 
<script src="/bower_components/angular-mocke2e-maydelay/angular-mocke2e-maydelay.js"></script> 

Ajouter à votre application

angular.module('app', ['ngMockE2E', 'mayDelay']) 

Dans les essais, le $httpBackend peuvent être utilisés non fantaisie comme ci-dessous pour retarder la réponse.

$httpBackend.whenGET('/foo.json').respond({foo:"bar"}, 3000); //delay 3s 
$httpBackend.whenPOST('/bar',{foo:"bar"}).respond(200, "succeed", 5000); //delay 5s 

Cette demande de fonctionnalité est déjà affichée dans les AngularJS repo