gpt4 book ai didi

javascript - 在 AngularJS 服务中使用 $http 回调

转载 作者:行者123 更新时间:2023-12-02 16:17:08 24 4
gpt4 key购买 nike

我有一个简单的 Angular 服务,它使用 $http 来调用 API。

app.service("MyService", function($http){

this.api = function(obj){

return $http.post("/some-route", obj).success(function(data){

//process data in various ways here

var returnObj = {
complete: true,
data: data
};

return returnObj;

});

}

});

在 $http 回调中,我在返回数据之前处理数据。当我在 Controller 中调用此服务时,我想获取处理后的数据。

以下仅提供未处理的数据:

MyService.api(someObj).success(function(data){
console.log(data);
});

如何从回调中获取处理后的数据?

最佳答案

success 函数不会创建新的 Promise,因此您的 Controller 成功回调会注册到与服务相同的 Promise(原始 Promise)。

相反,您可以使用 then,因此它将创建一个新的 Promise,该 Promise 将通过您的 returnObj 对象来解析:

// service
return $http.post("/some-route", obj).then(function(data){

// controller
myService.api().then(function(data) {

关于javascript - 在 AngularJS 服务中使用 $http 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29471320/

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