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的價值時,我所得到的是未定義的,但是當我再次單擊時,該值將顯示出來,但它是來自最後點擊的值。我試圖實現一個承諾,但卻被挫敗在如何在承諾中實現它。如果你能提供一個能夠做到這一點的代碼,那將會很棒。