将变量放入函数

时间:2017-02-06 12:34:59

标签: angularjs

我有一个功能,我需要在功能外打印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”。

2 个答案:

答案 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);