gpt4 book ai didi

javascript - SetInterval 的问题

转载 作者:行者123 更新时间:2023-12-03 03:17:51 25 4
gpt4 key购买 nike

我有一个插入函数可以在数据库中插入数据。该函数由按钮(正常工作)调用,也由倒计时调用,当它变为 0 时调用该函数。在第二种情况下,该函数将插入空数据。

下面是我的代码:

插入函数:

$scope.EnviarRespuestas = function () {
$http.post(
"insert.php", {
'preg1': $scope.pregunta1,
'preg2': $scope.pregunta2,
'preg3': $scope.pregunta3,
'preg4': $scope.pregunta4,
'preg5': $scope.pregunta5,
'preg6': $scope.pregunta6,
'preg7': $scope.pregunta7,
'preg8': $scope.pregunta8,
'preg9': $scope.pregunta9,
'preg10': $scope.pregunta10,
'dni': $scope.dniaux,
'apNom': $scope.nombreaux,
'tiempo': $scope.tiempo
}

).then(function (data) {
console.log($scope.pregunta1);
$scope.pregunta1 = "";
$scope.pregunta2 = "";
$scope.pregunta3 = "";
$scope.pregunta4 = "";
$scope.pregunta5 = "";
$scope.pregunta6 = "";
$scope.pregunta7 = "";
$scope.pregunta8 = "";
$scope.pregunta9 = "";
$scope.pregunta10 = "";
$scope.apNom = "";
$scope.dni = "";
$scope.tiempo = "";
clearInterval(timer);
$('.button').removeClass('blue');
$('.ui.menu').find('.item').tab('change tab', 1);
});
}

下面是倒计时为 0 时调用第一个函数的函数:

$scope.startTimer = function () {
$scope.segundos = 15;
$scope.minutos = 00;
timer = setInterval(function () {
$scope.segundos--;
if ($scope.segundos < 10) {
$scope.segundos = "0" + $scope.segundos
}
if ($scope.minutos == 0 && $scope.segundos == 0) {
clearInterval(timer);
$scope.calcularTiempo();
$scope.EnviarRespuestas();
}
$scope.$apply();
if ($scope.segundos <= 0) {
$scope.minutos--;
$scope.segundos = 05;
}
}, 1000);
}

最佳答案

整个 $scope.startTimer 函数似乎没有必要,因为 angularjs 已经有一个 $timeout 函数可以达到相同的目的;

$timeout(function()  {
// what to call
}, 15000) // 15000 = 15 seconds

其次,如果您已经有一个可以使用的按钮,您只需在计时器到期时调用 .click() 即可。

$timeout(function()  {
angular.element('#buttonId').click();
}, 15000) // 15000 = 15 seconds

关于javascript - SetInterval 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46691966/

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