我有一个功能,我需要在功能外打印lastlockerbalance
。
var getlockerbalance = function() {
$http.get("php/selectLOCKERBALANCE.php").success(function(lockerbalance) {
$scope.lockerbalance1 = lockerbalance;
var lastlockerbalance = $scope.lockerbalance1[0].LOCKERBALANCE;
console.log(lastlockerbalance);
});
};
console.log(lastlockerbalance);
将错误消息显示为“lastlockerbalance is undefined”。
答案 0 :(得分:2)
你做不到。在您的第二个.success()
函数被调用时,甚至都不会调用console.log()
回调,实际上请求$http.get()
调用甚至不会在{{{{}之后发送请求1}}函数返回。
您需要做的是移动使用回调内部值的代码。
答案 1 :(得分:0)
您可以返回promise
并使用then()
或将回调传递给该函数。
<强>无极强>
function getlockerbalance() {
return $http.get("php/selectLOCKERBALANCE.php").success(function(lockerbalance) {
$scope.lockerbalance1 = lockerbalance;
var lastlockerbalance = $scope.lockerbalance1[0].LOCKERBALANCE;
return lastlockerbalance;
});
};
getlockerbalance().then(function(result){
console.log(result);
});
<强>回调强>
var getlockerbalance = function(callback) {
$http.get("php/selectLOCKERBALANCE.php").success(function(lockerbalance) {
$scope.lockerbalance1 = lockerbalance;
var lastlockerbalance = $scope.lockerbalance1[0].LOCKERBALANCE;
callback(lastlockerbalance);
});
};
function printBalance(balance) {
console.log(balance);
}
getlockerbalance(printBalance);