【发布时间】:2015-06-23 15:58:09
【问题描述】:
我有一个 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":""}
有什么想法吗?非常感谢!
【问题讨论】:
-
也请分享您的库存代码
-
你是不是在 ritems 中没有定义
-
@Mohit 我添加了 json 响应。谢谢!
-
@Mohit 在第二个例子中我没有定义
-
这两种情况都没有定义,因为它是一个异步调用,console.log 在响应实际到来之前运行
标签: javascript angularjs closures ionic