Как я могу ожидать асинхронный метод без модификатора асинхронности в этом родительском методе?
У меня есть метод, которого я хочу ждать, но я не хочу вызывать эффект домино, думая, что все может вызвать этот вызывающий метод и ожидать его. Например, у меня есть этот метод:
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()
и тогда я не могу вернутьсяbool
Я должен сделать этоTask<bool>
но я не хочу, чтобы кто-то ждалSave()
метод.
Есть ли способ, которым я могу приостановить выполнение кода, например, await или как-то ожидать этого кода без модификатора async?