你好,我正在尝试异步地向列表中添加项目,但我不确定该如何实现,也不知道是否使用了不正确的语法。目前我的代码如下:
视图模板:
await viewModel.getMessages();
list.ItemsSource = viewModel.Messages;
我的视图模型:
public List<Message> Messages { get; set; }
public async Task getMessages()
{
await GetRemoteMessages();
}
private async Task GetRemoteMessages()
{
var remoteClient = new ChiesiClient();
var messages = await remoteClient.getMessages().ConfigureAwait(false);
//App.Database.
await SaveAll(messages).ConfigureAwait(false);
}
public async Task SaveAll(IEnumerable<Message> _messages)
{
foreach (var item in _messages)
{
await SaveMessage(item);
}
}
public async Task SaveMessage(Message item)
{
await Messages.Add(new Message // Cannot await void
{
Title = item.Title,
Description = item.Description,
Date = item.Date,
Url = item.Url
});
}
我不确定自己是否完全理解了概念,但是我如何等待添加项目到我的列表中?正确的操作方式是什么?