В Xamarin я использую метод Task.Delay () следующим образом:
try{
_myTask= Task.Delay(TimeSpan.FromSeconds(secondsToWait),
_someTokenForCancel);
//some code..
await _myTask;
}catch(TaskCanceledException e)
{
//some code..
}
Когда значение секунд в секундах небольшое (например, 600 в течение 10 минут), оно точное. Когда значение secondsToWait больше (допустим, 1800 в течение 30 минут), оно НЕ является точным. Это делается в более позднее время, чем следовало бы.
Кто-то имеет представление, в чем причина, и может порекомендовать использовать другую функцию? Требования должны быть асинхронными и только один раз (НЕ событие, которое нужно активировать каждые x секунд ..)