非同期呼び出しでタイムスタンプ マーカーEqService
を知りたいサービス ( ) を持つ Angular アプリがあります。
リクエストとレスポンスのインターセプターを使用しています。主要なコンポーネントは次のとおりです。
// app.js
var appModule = angular.module('myApp', []);
appModule.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('timestampMarker');
}]);
appModule.controller('PostsAjaxController', function ($scope, EqService) {
$scope.getData = function (){
EqService.get().then(function (resp) {
console.log(resp);
// Want here 'config.responseTimestamp' and 'config.requestTimestamp';
});
};
$scope.getData();
});
//interceptor.js
appModule.factory('timestampMarker', [function() {
var timestampMarker = {
request: function(config) {
config.requestTimestamp = new Date().getTime();
return config;
},
response: function(response) {
response.config.responseTimestamp = new Date().getTime();
return response;
}
};
return timestampMarker;
}]);
// services.js
appModule.factory('EqService', function ($http, $q) {
return {
get: function () {
var deferred = $q.defer();
$http({ method: 'POST', url: './data.php'}).success(function (data) {
deferred.resolve(data);
});
return deferred.promise;
}
}
});
私の質問は次のとおりです: EqService get 呼び出しの後に'config.responseTimestamp
' を取得するにはどうすればよいですか?'config.requestTimestamp'