Я смотрел на то, как использовать async await, но я не совсем понял, когда у нас есть несколько методов, вызывающих друг друга. Должны ли мы всегда использовать await или использовать await только тогда, когда мы действительно готовы использовать результат?
Так, например, мы должны сделать это так:
async Task<string[]> FooAsync()
{
var info = await Func1();
return info.split('.');
}
async Task<string> Func1()
{
return await Func2();
}
async Task<string> Func2()
{
return await tcpClient.ReadStringAsync();
}
Или вот так:
async Task<string[]> FooAsync()
{
var info = await Func1();
return info.split('.');
}
Task<string> Func1()
{
return Func2();
}
Task<string> Func2()
{
return tcpClient.ReadStringAsync();
}
В примере 1, мы должны всегда использовать await в каждом методе?
Или же
В примере 2 мы должны использовать await только для самого верхнего метода, когда начинаем использовать результат?