gpt4 book ai didi

javascript - Angularjs如何获取工厂中的api

转载 作者:行者123 更新时间:2023-12-03 00:58:31 25 4
gpt4 key购买 nike

我已经搜索了几个小时,但找不到我需要的东西。有哪位好心人可以帮帮我吗?我尝试从我的 Controller 翻译这样的内容:

      myApp.controller('displayCatController', ['$scope','$http','$q', 'displayAll', function($scope, $http, $q, displayAll){


var CombinedName = [];
//Display auditoriums information
var CategoryAudit = $http({
method: 'GET',
url:'https://developers.onemap.sg/publicapi/themeapi/retrieveTheme?queryName=auditoriums&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsInVzZXJfaWQiOjMsImVtYWlsIjoicHVibGljQXBpUm9sZUBzbGEuZ292LnNnIiwiZm9yZXZlciI6ZmFsc2UsImlzcyI6Imh0dHA6XC9cL29tMi5kZmUub25lbWFwLnNnXC9hcGlcL3YyXC91c2VyXC9zZXNzaW9uIiwiaWF0IjoxNTM4ODY2MTM3LCJleHAiOjE1MzkyOTgxMzcsIm5iZiI6MTUzODg2NjEzNywianRpIjoiOWZhMDVmZDUzNGRhNjU1ZDQ3YTgwODdmMGZkYjY1OGEifQ.2RbY7CGZY5hRfKZHVBels1XUDiAh9zU2lyUvePF8dXk'
}).then(function successCallback(response) {
$scope.auditoriums = response.data.SrchResults;
$scope.auditoriums.splice(0,1);
}, function errorCallback(response) {
console.log(response);
});

//Display exhibitions information
var CategoryExhibit = $http({
method: 'GET',
url: 'https://developers.onemap.sg/publicapi/themeapi/retrieveTheme?queryName=exhibitioncentres&token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsInVzZXJfaWQiOjMsImVtYWlsIjoicHVibGljQXBpUm9sZUBzbGEuZ292LnNnIiwiZm9yZXZlciI6ZmFsc2UsImlzcyI6Imh0dHA6XC9cL29tMi5kZmUub25lbWFwLnNnXC9hcGlcL3YyXC91c2VyXC9zZXNzaW9uIiwiaWF0IjoxNTM4ODY2MTM3LCJleHAiOjE1MzkyOTgxMzcsIm5iZiI6MTUzODg2NjEzNywianRpIjoiOWZhMDVmZDUzNGRhNjU1ZDQ3YTgwODdmMGZkYjY1OGEifQ.2RbY7CGZY5hRfKZHVBels1XUDiAh9zU2lyUvePF8dXk'
}).then(function successCallback(response) {
$scope.exhibitions = response.data.SrchResults;
$scope.exhibitions.splice(0,1);
}, function errorCallback(response) {
console.log(response);
});


// To combine all the $http API into one
$q.all([CategoryAudit, CategoryExhibit, CategoryHotel]).then(function(){
$scope.combine = $scope.exhibitions.concat($scope.auditoriums, $scope.hotels);
// For loop to get only the names
for (var i = 0; i < $scope.combine.length; i++){
if (i >= 0){
CombinedName.push($scope.combine[i].NAME);
}
}

});

}]);

进入一个工厂,我可以在那里放置我的 $http 调用以使其更干净。我真的非常感谢任何帮助。

最佳答案

请参阅下面的工厂和 Controller 使用示例代码..

//Factory
angular.module('myApp')
.factory('dataFactory', ['$http', function($http) {

var urlBase = '/api/customers';
var dataFactory = {};

dataFactory.getCustomers = function() {
return $http.get(urlBase);
};

return dataFactory;
}]);

//Controller
angular.module('myApp')
.controller('myController', ['$scope', 'dataFactory',
function($scope, dataFactory) {
$scope.customers;

getCustomers();

function getCustomers() {
dataFactory.getCustomers()
.then(function(response) {
$scope.customers = response.data;
}, function(error) {
console.log(error.message;)
});
}
}
]);

关于javascript - Angularjs如何获取工厂中的api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52714951/

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