[英]c# async method and return await
一个简单的问题。 我找到了一些具有这种“逻辑”和“架构”的方法。
public async Task<T> FindAsync(params object[] keys)
{
return await this.context.FindAsync(keys);
}
一条带有等待的指令。 由于该方法是异步的,您必须这样做(否则会发生编译器错误)。 恕我直言,我不知道为什么你应该使用这种模式,因为如果该方法是异步的,你可能想要并行执行不同的任务。 如果您使用 await 关键字同步执行,则会使方法接近同步,并且会失去 .net 托管线程池机制的所有性能增益。 你有什么意见? 我错了?
如果你像这样调用这个方法:
await FindAsync(); // this method waits for the task to complete
那么在此方法中返回 await 没有任何意义,您可以将其更改为:
public Task<T> FindAsync(params object[] keys)
{
return this.context.FindAsync(keys); // Start and return the task
}
然后调用者等待任务完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.