变量未在函数内部更新

时间:2020-01-21 10:01:57

标签: javascript angularjs

我工作了几个小时,发现http请求中的变量没有在请求之外更新

var BreakHour不在此功能中进行外部更新。谢谢您的帮助

$scope.getTotalWorked = function(Id, earlierDate, laterDate, timeIn){
    var n_earlierDate = new Date(earlierDate);
    var n_laterDate = new Date(laterDate);
    $scope.n_hours_minutes = "00:00";

    var hours = 0;
    var minutes = 0;

    var BreakHour = 0;

    hours = parseInt(Math.abs(n_laterDate - n_earlierDate) / (1000 * 60 * 60) );            
    minutes = parseInt(Math.abs(n_laterDate.getTime() - n_earlierDate.getTime()) / (1000 * 60) % 60); 

    $http.get('json/Employee.php?CD=' + Id).then(function(response) {

        var data = response.data;
        var isEligible = 0;

        $scope.EmployeeId = data[0].EmployeeId;
        isEligible = data[0].isEligible;                                            

        if (n_earlierDate > n_laterDate){
            hours =0;
            minutes=0;               
        }

        return $http({
            method: 'GET',
            url: 'json/EmployeeSchedule.php?ID=' + $scope.EmployeeId + "&DateFrom=" + new moment(timeIn).format("YYYY/MM/DD") + "&DateTo=" + new moment(timeIn).format("YYYY/MM/DD"),
        });
    }).then(function (response, status) {
        var result = response.data;
        BreakHour = result[0].BreakHour; 
    });      

    if (parseInt(hours) >= 5){                    
        alert(BreakHour);
        hours = parseInt(hours) - parseInt(BreakHour);
        $scope.n_hours_minutes =    hours +':'+ minutes;                                              
    }
    else{    
        $scope.n_hours_minutes =  hours +':'+ minutes;         
    }

    return $scope.n_hours_minutes;
}

0 个答案:

没有答案