callback 迴圈回撥,外迴圈一次,內迴圈多次,支援非同步
<!-- 1,首先後臺傳入 10個mac 地址給我 -->
<!-- 2,然後我獲取到 10給mac地址 -->
<!-- 3,從第最後一個開始搜尋 -->
//最近遇到一個需求,我要寫一個裝置測試程式,外面迴圈一次,裡面迴圈使用者設定次數.下面是我寫的,有不足的地方,還忘同學們多多指點
//這是10臺裝置
var i=[1,2,3,4,5,6,7,8,9,10];
//這是 使用者輸入測試的次數
var c=20;
//這是一個模擬的資料累減值
var b=10;
//首先進來執行 傳入a
bb(aa);
function bb(callblck){
//首先拿到10臺裝置中的一臺,因為牽扯到10臺,一臺測試完之後,繼續下下一臺測試,這是要做一個累減值
//陣列從0開始,必須減一,不然就不能獲取i中的最後一個了
console.log(i[b-1])
console.log(b)
//i[b-1] 因為i是10 b是10-1=9 剛好取得i[9]的最後一位,這時候條件相等,就是執行回撥aa()
if(i[b-1]==b){callblck()}
}
function aa(){
//一進來 迴圈使用者輸入的次數,因為迴圈也是從0開始的,所以迴圈 20 最後的結果只能得到19 ,所以c為啥要減一,這下明白了吧.
for(let j=0;j<c;j++){
console.log(j)
//當迴圈的次數與使用者次數相等,那麼就b-1 替換全域性,這樣就可以開始下一次迴圈
if(j>=(c-1)){
console.log('第'+b+'次')
if(b==0){ console.log('迴圈結束') return false;}
b--;
bb(aa);
}
}
}

這是我git地址 https://github.com/13507404693/vcod-git.git