[英]What happens when calling an async function multiple times
我有一個在 C# 中編輯數據庫的異步函數
public async Task DeleteEntry(int Id)
{
var toDeleteEntry = (await firebase
.Child("Entries")
.OnceAsync<Entry>()).Where(a => a.Object.id == Id).FirstOrDefault();
await firebase.Child("Entries").Child(toDeleteEntry.Key).DeleteAsync();
}
如果我在沒有等待函數的情況下在循環中調用此函數(在下面注釋掉)
foreach (Entry entry in allData)
{
var task = DeleteEntry(entry.id);
//task.Wait();
}
會不會:
請解釋。
不拋出任何異常。 它的工作是同步的,首先是函數調用,然后移動到下一個迭代。
如果你想在 Thread 中運行然后使用
public async Task DeleteEntry(int Id)
{
var toDeleteEntry = (await firebase
.Child("Entries")
.OnceAsync<Entry>()).Where(a => a.Object.id == Id).FirstOrDefault();
await firebase.Child("Entries").Child(toDeleteEntry.Key).DeleteAsync();
}
想要與任務一起運行然后使用此代碼。 它的執行方法 Parallels 線程
var task = Task.Run(() => DeleteEntry(entry.id));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.