gpt4 book ai didi

javascript - 如何在 AngularJS 中用 $http 替换 $resource ?

转载 作者:行者123 更新时间:2023-11-28 01:21:44 25 4
gpt4 key购买 nike

我的应用程序有以下 $resource 调用。据我所知,这可以替换为 $http。

    $resource('/api/:et/', { et: $scope.data.entityType })
.save(data, newSuccess, error)
.$promise.finally(last);

$resource('/api/:et/:id', { et: $scope.data.entityType })
.delete({ id: entityId }, deleteSuccess, error)
.$promise.finally(last);

$resource('/api/:et/:id', { et: $scope.data.entityType }, { update: { method: 'PUT' } })
.update({ id: entityId }, data, editSuccess, error)
.$promise.finally(last);

我已经检查了 $http 文档,但我看不到如何添加对 xxxSuccess、错误函数的调用以及如何执行 .$promise.finally(last)。

有人可以解释一下如何使用 $http 复制此功能吗?

最佳答案

$http 用于通用AJAX。在大多数情况下,这就是您将要使用的。使用 $http 您将手动进行 GETPOSTDELETE 类型调用并处理对象他们会自行返回。

$resource 包装 $http 以在 RESTful Web API 场景中使用。

<小时/>

语法

$http({
method : 'GET',
url : '/someUrl',
param : { paramKey : paramValue}, // optional
headers : 'someHeaders' // optional
}).success(function(data, status, headers, config)
{
// this callback will be called asynchronously
// when the response is available
}).error(function(data, status, headers, config)
{
// called asynchronously if an error occurs
// or server returns response with an error status.
});
<小时/>

$http 文档 - https://docs.angularjs.org/#!/api/ng/service/$http

<小时/>

$http中维护 promise

app.factory('myService', function($http) {
var myService = {
async: function() {
// $http returns a promise, which has a then function, which also returns a promise
var promise = $http.get('/someUrl').then(function (response) {
// The then function here is an opportunity to modify the response
console.log(response);
// The return value gets picked up by the then in the controller.
return response.data;
});
// Return the promise to the controller
return promise;
}
};
return myService;
});

app.controller('MainCtrl', function( myService,$scope) {
// Call the async method and then do stuff with what is returned inside our own then function
myService.async().then(function(d) {
$scope.data = d;
});
});

看看这篇文章 Angular Promises ,实现这样的场景肯定会让你受益匪浅。

关于javascript - 如何在 AngularJS 中用 $http 替换 $resource ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23190531/

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