내 서버 응답을 기반으로 매 초마다 내 뷰를 업데이트하려고합니다. 실시간 데이터 표시 응용 프로그램으로 작업하고 있습니다. 매초마다 서버에 요청을 보내고 응답을 받고 내보기에 표시해야합니다. 현재 요청 및 응답 jquery 및 아약스 사용하고 있습니다. 컨트롤러에서 anglejs 서비스를 반복적으로 호출하여 뷰를 업데이트하는 방법
그냥 지금은 AngularJS와를 사용하려고하고 서버에서 응답을 얻기 위해 우는 코드를 사용,'use strict';
angular.module('liverate', ['dataServices']);
angular.module('dataServices', []).
service('Data', ['$http', function ($http) {
var my_Date = new Date();
var rates = {};
var urlBase = BASE_URL+"api/apirate.php"+"?nocache=" + my_Date.getUTCSeconds();
this.getRates = function() {
$http({
method: 'GET',
url: urlBase,
//headers: {'Content-Type': 'application/x-www-form-urlencoded'},
success: function(data){
console.log(data);
rates = data;
},
error : function(statusCode,error) {
console.log(error);
}
});
return rates;
};
}]);
function LiverateController($scope, $timeout, Data) {
$scope.data = [];
var rates = {};
(function tick() {
$scope.data = Data.getRates(function(){
$timeout(tick, 1000);
});
})();
And also tried bellow method
$scope.callAtTimeout = function() {
console.log(Data.getRates());
}
$timeout(function(){ $scope.callAtTimeout(); }, 1000);
};
을하지만 나를 위해 작동하지 않았다거야. 한 번만 전화하면 돼. 이걸 써야 겠어. 제발 도와주세요.
use $ Interval .. – Ved
실시간 응용 프로그램의 경우 WebSocket을 사용해야합니다. 최소한 모델을 업데이트하는 서비스에서 긴 폴링을 사용해야합니다. 컨트롤러는 모델을 사용하고 모델이 변경되면 각도 바인딩을 사용하여 뷰를 업데이트해야합니다. 컨트롤러는 폴링하지 말고 멍청해야합니다. – Martin