gpt4 book ai didi

javascript - 最佳实践工厂 angular.js 1.2

转载 作者:行者123 更新时间:2023-11-28 12:32:20 24 4
gpt4 key购买 nike

我想使用 $http 和 angular.js 创建服务,如 this plunk 所示

但是当我尝试在 Angular 1.2 中执行此操作时,我无法将多个函数放入工厂,就像这里所做的那样

适用于 Angular 1.0.2

app.factory('myService', function($http, $q) {
return {
getFoo: function() {
var deferred = $q.defer();
$http.get('foo.json').success(function(data) {
deferred.resolve(data);
}).error(function(){
deferred.reject();
});
return deferred.promise;
},
getBar: function(callback) {
$http.get('foo.json').success(callback);
},
testHttpGetResult: function (){
return $http.get('foo.json');
}
}
});

我应该如何在 Angular 1.2 中做到这一点?我必须使用不同的方法(不是工厂)吗?

提前致谢。

已编辑

它有效,因为只有一个函数(getFoo)

app.factory('myService', function($http, $q) {
return {
getFoo: function() {
var deferred = $q.defer();
$http.get('foo.json').success(function(data) {
deferred.resolve(data);
}).error(function(){
deferred.reject();
});
return deferred.promise;
}
});

最佳答案

从 Angular 1.2 开始,promise unwrapping is optional ,并且它将在 Angular 的 future 版本中完全禁用。

换句话说,您从 1.2 开始的干净版本需要选择加入,并且将来根本无法使用。

关于javascript - 最佳实践工厂 angular.js 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804470/

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