gpt4 book ai didi

javascript - 从 1 个服务执行多个请求 (angularjs)

转载 作者:行者123 更新时间:2023-12-02 18:14:29 25 4
gpt4 key购买 nike

我是 AngularJs 的新手,我想从我的服务执行多个请求。到目前为止,我只成功执行了一个请求:

我的服务文件:

ticketServices.factory('Category', ['$resource',
function($resource){
var resource = $resource(
baseUrl('/admin/ticket/?format=json'), {}, {
query: {
method:'GET',
params: {},
isObject: true
}
});
return resource;
}
]);

我的 Controller 文件:

ticketApp.controller('ticketCtrl', ['$scope', 'Category', function ($scope, Category) {
Category.query();
}]);

例如,我希望能够做到这一点:

Category.fecthCities();
Category.fetchMessage();

但我不知道如何将这些请求添加到我的服务中。

如有任何帮助,我们将不胜感激。

最佳答案

如果我理解正确的话,应该是这样的:

JS

fessmodule.controller('fessCntrl', function ($scope, Data) {

$scope.alertSwap1 = function () {
Data.fecthCities()
.then(function (result) {
$scope.cities = result;

}, function (result) {
alert("Error: No data returned");
});
};

$scope.alertSwap2 = function () {
Data.fetchMessage()
.then(function (result) {
$scope.message = result;
}, function (result) {
alert("Error: No data returned");
});

};

});

fessmodule.$inject = ['$scope', 'Data'];

fessmodule.factory('Data', ['$resource','$q', function($resource, $q) {
var cities = [
{
"city": "Tel Aviv"
}
];

var message = [
{
"MyMessage": "Hello mate"
}
];

var factory = {
fecthCities: function () {
var deferred = $q.defer();

deferred.resolve(cities);

return deferred.promise;
},
fetchMessage: function () {
var deferred = $q.defer();

deferred.resolve(message);

return deferred.promise;
}

}
return factory;
}]);

工厂有两个方法:fecthCitiesetchMessage

您可以用 GET 资源替换 static var 城市/消息。

演示 Fiddle

关于javascript - 从 1 个服务执行多个请求 (angularjs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423178/

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