我想返回一个任务<列表>通过c#和.net 4.0 vs2019。不要使用心脏停搏系统。
CancellationTokenSource source = new CancellationTokenSource();
Task List<AccountList> task1 = new Task List<AccountList>(() => {
using (var db1 = new SqlConnection(DbHelper.AccountConStr))
{
string sql = "select * from AccountList where UseFlag='1'";
try
{
IEnumerable<AccountList> lst = db1.Query<AccountList>(sql);
return lst.ToList();
}
catch
{
return new List<AccountList>();
}
}
});
task1.Start();
while (timeout > sw.ElapsedMilliseconds)
source.Cancel();
如何返回任务<列表>
为什么不能返回
Task<List<AccountList>>
即只返回task1。
然后在调用方法中,由于您没有async/await,您可以通过使用Task.ContinuteWith(…(来实现同样的事情。当任务解析时,您想做的事情会进入ContinueWith内部。Async/Await只是糖。