gpt4 book ai didi

javascript - 从运行中设置数据并通知所有 Controller

转载 作者:行者123 更新时间:2023-12-03 10:40:19 24 4
gpt4 key购买 nike

我正在 Angular 应用程序的 .run 中加载数据,我的问题是,我想在不同的 Controller 中使用数据,但 Ajax 可能需要一些时间来加载数据。有什么方法可以保留 Controller 或通知 Controller ,以便 Controller 可以从服务而不是 $http 获取数据。

listingApp.run(['ListingData', '$http','$q', function (ListingData, $http,$q) {
// // make the api request here
var listing_def = $q.defer();
$http.get('/api/products/7569356/').then(function (result) {

ListingData.setData(result);
listing_def.resolve(data);
});
return listing_def.promise;

}]);

最佳答案

使用promises

示例:

angular.module('test', [])  // Not testet
.run(function($http, $q, $rootScope) {

$rootScope.loadData = (loadDefer = $q.defer()).promise

$http.get('url').then(function(result) {
loadDefer.resolve(result);
})
})
.controller('ExampleCtrl', function($scope) {
$scope.loadData.then(function(result) {
console.log(result);
});
});

关于javascript - 从运行中设置数据并通知所有 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811665/

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