forEach和for包含非同步呼叫的區別

2021-10-10 21:50:40 字數 456 閱讀 3614

foreach和for包含非同步呼叫的區別

作為for迴圈的增強版,foreach在遍歷陣列時書寫更簡潔、可讀性也更強。但是當迴圈中包含非同步操作時可能會遇一些坑。

doadd(e) )

} else

this.searchdate = ''

}} todolisthassearch(todolist: any, search: any)

// });

for (let i = 0; i < todolist.length; i++)

}return false

}

結論

for迴圈中會等非同步呼叫完成後再執行後面的語句

foreach中包含非同步呼叫時會直接執行後面的語句

如果迴圈中包含了非同步呼叫、並且迴圈後的同步操作呼叫了遍歷後的結果,應該使用for迴圈代替foreach

foreach用法和例項

foreach 有兩種用法 1 foreach array name as value 這裡的array name是你要遍歷的陣列名,每次迴圈中,array name陣列的當前元素的值被賦給 value,並且陣列內部的下標向下移一步,也就是下次迴圈回得到下乙個元素。2 foreach array n...

foreach 和 函式應用

foreach 對集合每個元素的引用 in 集合 int a new int 5 foreach int b in a b就是 a中的每個元素 注意 foreach 只能對集合進行遍歷。foreach 在操作集合的時候,只能讀不能改。foreach 操作 dictionary dictionaryd...

for和foreach的區別

public class program public void for for int i 0 i array.length i public static void foreachonarray foreach string s in array 再加點 在迴圈中試圖更改所操作的值 public...