此代码似乎在更新项目调用完成之前将项目标记为完成
await queue.UpdateItem(item);
await queue.MarkItemComplete(item);
队列方法定义:
public async Task UpdateItem(QueueItem item)
{
var temp = await table.GetItemAsync(item.Key);
temp.Message= item.Message;
await table.UpdateAsync(temp);
}
public async Task MarkItemComplete(QueueItem item)
{
var temp = await table.GetItemAsync(item.Key);
temp.Complete = true;
await table.UpdateAsync(temp);
}
据我了解,等待类型而不是方法,所以当我只返回一个不依赖值的Task时,是否有可能解除线程的阻塞,而第二个wait开始并结束,而第一种方法正在等待其更新?
对于上下文,此代码在服务结构无状态服务的RunAsync方法中的While循环中运行