Я смотрю на этих строках коды от другого разработчика:операция Асинхронной немедленно ждала
bool isValid = await engine.GetTaskByIdAsync(taskId);
if(isValid)
....
Когда я работаю с async
операциями, она должна сделать самостоятельную работу, а операция асинхронной завершает:
Task<bool> task = engine.GetTaskByIdAsync(taskId);
//Do work that doesn't need the "task" variable
bool completed = await task;
if(bool)
....
Похоже, что первый пример запускает операцию async и сразу же начинает ждать. Есть ли какая-то ценность здесь, я не понимаю?
Примечание: этот код находится в уровне доступа к данным приложения, поэтому он не взаимодействует с пользовательским интерфейсом.
Конечно, начинайте процесс и немедленно возвращайтесь, что это важно, если у вас есть логика заранее? –
«Похоже, что первый пример запускает асинхронную операцию, а затем сразу же начинает ждать» - 'await' заставляет нас ждать завершения вызова перед продолжением. –
Как бы вы сделали то, что сделал этот программист * без * ожидания задачи? – Servy