在我的應用程序有以下幾點:異步表的建立和查詢的優勢/劣勢
db2.CreateTable<CategoryGroup>();
db2.CreateTable<Category>();
db2.CreateTable<CategoryGroupSource>();
db2.CreateTable<CategorySource>();
db2.CreateTable<Phrase>();
db2.CreateTable<PhraseSource>();
db2.CreateTable<Score>();
db2.CreateTable<Setting>();
從我瞭解有一個異步的方式來做到這一點也:
database.CreateTableAsync<TodoItem>().Wait();
誰能解釋如果我在使用異步方式方面有什麼優勢,並且人們通常總是使用異步方式?
也有可能是好處,如果我使用這種類型的異步查詢:
public Task<TodoItem> GetItemAsync(int id)
{
return database.Table<TodoItem>().Where(i => i.ID == id).FirstOrDefaultAsync();
}
請在提問之前試着研究一下這個話題。我建議從這裏開始閱讀有關c#中的異步:https://msdn.microsoft.com/library/hh191443(vs.110).aspx – hamalaiv
CreateTableAsync將讓UI線程工作,而使用CreateTable不會。根據您執行代碼的時間(在開始時,在用戶交互之後,您將需要使用Async或不)。 – hugoterelle
你的回答hugorgor在這個例子中誤導了,因爲問題有'.Wait();'異步方法之後再次阻塞UI線程。 – hamalaiv