gpt4 book ai didi

javascript - 用于尝试返回 json 数据的 ionic Angular 闭合

转载 作者:行者123 更新时间:2023-12-03 09:46:36 27 4
gpt4 key购买 nike

我有一个 Ionic 应用程序,我正在尝试从闭包内部返回数据。控制台正确显示所有内容,但我似乎无法正确返回数据。我尝试了几种不同的变体,但没有成功。

$scope.callbackMethod = function (query) {
//var ritems= new Array();

var ritems;

Inventory.search(query, $scope.currentUser.token, $scope.currentUser.user_id, function(response) {
//console.log(JSON.stringify(response));
if(response.success == true)
{
$ionicLoading.hide();
$scope.requestmodal.hide();
console.log(response.items);
ritems= response.items;
}
else
{
$ionicLoading.hide();
//console.log(response.message);
return $scope.errorMessage = response.message;
}
});

console.log(ritems);
return ritems;

};

还有这个:

 $scope.callbackMethod = function (query) {
//var ritems= new Array();

var ritems = Inventory.search(query, $scope.currentUser.token, $scope.currentUser.user_id, function(response) {
//console.log(JSON.stringify(response));
if(response.success == true)
{
$ionicLoading.hide();
$scope.requestmodal.hide();

console.log(response.items);
return response.items;

}
else
{
$ionicLoading.hide();
//console.log(response.message);
return $scope.errorMessage = response.message;
}
});

console.log(ritems);
return ritems;

};

返回给脚本的json是:

{"success":true,"items":[{"id":"1","0":"1","name":"Product 1","1":"Product 1","ref_id":"","2":""},{"id":"2","0":"2","name":"Product 2","1":"Product 2","ref_id":"","2":""}],"message":""}

有什么想法吗?非常感谢!!

最佳答案

您可以按照此方法来解决您的问题

var cbm = function (query) {
var defer = $q.defer();
Inventory.search(query, $scope.currentUser.token,$scope.currentUser.user_id, function(response) {
if(response.success == true)
{
$ionicLoading.hide();
$scope.requestmodal.hide();
defer.resolve(response.items) ;
}
else
{
$ionicLoading.hide();
defer.reject(response.message);
}
});
return defer.promise;
};

在调用时,您可以调用回调方法,例如

$scope.callbackMethod = function (query){ 
return cbm(query).then(function(data){ return data;});
}

关于javascript - 用于尝试返回 json 数据的 ionic Angular 闭合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31007764/

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