gpt4 book ai didi

javascript - AngularJS Controller 在后端数据更改时自动更新 $scope

转载 作者:行者123 更新时间:2023-11-28 19:30:53 28 4
gpt4 key购买 nike

我有一个服务,它使用 $http 从 REST API“获取”一些 JSON 数据。 Controller 使用服务来获取此数据并在 $scope 中对其进行初始化。我怎样才能做到每次 JSON API 更改时,更改都会在 $scope 中更新,从而在 View 中更新?

Controller :

app.controller('MainController', function ($scope, BuildService) {
init();
function init() {
BuildService.getBuilds().then(function() {
$scope.builds = BuildService.data();
});
}
});

服务:

app.service('BuildService', function ($http, $q) {

var BuildService = {};

var deffered = $q.defer();
var data = [];

BuildService.getBuilds = function () {
//return builds;

$http.get('/api').
success(function(d, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
data = d;
deffered.resolve();

}).
error(function(d, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
deffered.reject();
});

return deffered.promise;

};

BuildService.data = function() { return data; };

return BuildService;

});

最佳答案

这个问题不是 AngularJS 特定的。您想要实现的是一个实时应用程序。

方法一:轮询

使用 $interval 每 30 秒左右检查一次 JSON API。

方法二:基于WebSocket的通知

如果您可以控制 JSON API,则可以创建另一个基于 WebSocket 的通知 API。每当 JSON API 发生变化时,通知客户端重新获取 JSON API。

关于javascript - AngularJS Controller 在后端数据更改时自动更新 $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817369/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com