gpt4 book ai didi

javascript - 如何使用 angularjs 将 $http 请求返回的数据用于同一 Controller 中的另一个请求?

转载 作者:行者123 更新时间:2023-12-02 18:10:47 24 4
gpt4 key购买 nike

我正在创建一个发出 http GET 请求的函数,然后使用该响应的一部分发出另一个 http GET 请求。然而,第一个 http GET 请求返回的数据被包装在很多不必要的数据中(可能是一个 Promise 对象),但我只需要它的 json 组件。如何访问 Controller 中响应的 json 数据?这是我的代码。

 $scope.doSearch = function() {
var upcResult = Restangular.one('upc',$scope.searchTerm).get()

//the upc returns an item, so i am trying to access that part of the json by using
upcResult.item, how if I console.log that it is undefined

$scope.doAnotherSearch = function() {
var itemResult = Restangular.one('item',upcResult.item).get();

}

最佳答案

您可以使用 promise 链。

var upcResult = Restangular.one('upc',$scope.searchTerm).get();

upcResult.then(function (result) {
// call other http get
return Restangular.one('item',result.item).get();
}).then(function (result) {
//....
});

我不知道在你的情况下 Restangular.one(/*...*/).get(); 返回 promise ,但你可以用 $q< 包装它如:

 var upcResult = Restangular.one('upc',$scope.searchTerm).get(); 
var deferred = $q.defer();
deferred.resolve(upcResult).then(function(){/*...*/});

关于javascript - 如何使用 angularjs 将 $http 请求返回的数据用于同一 Controller 中的另一个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19730525/

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