我有一个想要等待的方法,但我不想引起连锁反应,认为任何东西都能调用这个调用方法并等待它。例如,我有这个方法:
public bool Save(string data)
{
int rowsAffected = await UpdateDataAsync(data);
return rowsAffected > 0;
}
我正在打电话:
public Task<int> UpdateDataAsync()
{
return Task.Run(() =>
{
return Data.Update(); //return an integer of rowsAffected
}
}
这样不起作用,因为我必须在 Save()
方法签名中加入 "async" ,然后我不能返回 bool
,而是必须将其改为 Task<bool>
,但我不想让任何人等待 Save()
方法。有没有一种方法可以暂停代码执行,例如使用 await 或以某种方式等待此代码,而无需使用 async 修饰符?