![](/img/trans.png)
[英]Should I return a ValueTask or Task in a method which calls an async method
[英]If i add async keyword to a method which which should return a Task it wrap the return value in Task?
如果写这个 function 没有异步和等待这个例子我得到错误我应该返回任务而不是用户 object
public Task<User> Register(User user, string password)
{
byte[] passwordhash,passwordsalt;
CreatePassword(password,out passwordhash,out passwordsalt);
return user;
}
但是如果用 async 和 await 写这个 function 作为这个例子它工作正常,所以我想知道是否将 async 关键字添加到任何方法它应该自动将返回值包装到一个任务
public async Task<User> Register(User user, string password)
{
byte[] passwordhash,passwordsalt;
CreatePassword(password,out passwordhash,out passwordsalt);
await _Context.Users.AddAsync(user);
await _Context.SaveChangesAsync();
return user;
}
如果将 async 关键字添加到任何方法,它应该自动将返回值包装到 Task
是的。 一种思考方式是async
将返回的值(或异常)包装到Task
(或类似任务)中。 并await
“解包”返回值(或异常)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.