3
我很困扰现在开发一个应用程序。我想要做的是在提交时通过ng-click将执行以下任务:如何在angularjs上实现一个do while while循环
- 生成一个5位数的随机数。
- 这个随机数将在数据库中验证(如果存在)。
- 如果它存在,它将生成另一个数字,然后再次验证,直到数值返回到零。
为1号我已经有这样的:
var gRandomNum = function(){
var snumRand = Math.floor((Math.random()*10000)+1);
var numRand = snumRand.toString();
var str_f = numRand.length;
if(str_f == 1){
str_final = "0000" + numRand;
} else if(str_f == 2){
str_final = "000" + numRand;
} else if(str_f == 3){
str_final = "00" + numRand;
} else if(str_f == 4){
str_final = "0" + numRand;
} else {
str_final = numRand;
}
return str_final;
}
为2号
var validataRandNum = function(pdata){
return $http.get('api/cntTc/'+pdata).
success(function(data){
return data.tc_count;
});
}
为3号
do{
var pdata = gRandomNum();
var ifValid = validataRandNum(pdata);
} while(ifValid < 0);
下面是它看起来像在我的范围功能
$scope.ok = function(){
do{
var pdata = gRandomNum();
var ifValid = validataRandNum(pdata);
} while(ifValid < 0);
}
当我试图验证ifValid的价值时,我所得到的是未定义的,但是当我再次单击时,该值将显示出来,但它是来自最后点击的值。我试图实现一个承诺,但却被挫败在如何在承诺中实现它。如果你能提供一个能够做到这一点的代码,那将会很棒。