Сообщение Re[9]: ContinueWith от 29.01.2020 11:25
Изменено 29.01.2020 11:33 alexzzzz
Re[9]: ContinueWith
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Этот карго-культ экономит много времени на глупых трудновылавливаемых ошибках, вызванных забытым await. Оно, кстати, не только при просмотре кода полезно, решарпер использует наличие суффикса в одном из своих анализов на предмет как раз забытого await.
Ещё, когда я вызывают метод Task<T> DoSomethingAsync(), то ожидаю, что вернувшийся таск уже работает и надо только дождаться результата. А если DoSomething() возвращает Task, то большой вопрос, что с ним делать, запускать самому или он уже запущен и где-то работает. Интуитивно ожидается, то вернувшийся таск пока не запущен либо уже синхронно выполнился.
НС>Этот карго-культ экономит много времени на глупых трудновылавливаемых ошибках, вызванных забытым await. Оно, кстати, не только при просмотре кода полезно, решарпер использует наличие суффикса в одном из своих анализов на предмет как раз забытого await.
Ещё, когда я вызывают метод Task<T> DoSomethingAsync(), то ожидаю, что вернувшийся таск уже работает и надо только дождаться результата. А если DoSomething() возвращает Task, то большой вопрос, что с ним делать, запускать самому или он уже запущен и где-то работает. Интуитивно ожидается, то вернувшийся таск пока не запущен либо уже синхронно выполнился.
using System;
using System.Threading;
using System.Threading.Tasks;
internal class Program
{
private static async Task Main(string[] args)
{
var task = DoSomething();
//task.Start();
Console.WriteLine("waiting...");
var result = await task;
Console.WriteLine(result);
}
private static Task<int> DoSomething()
{
return new Task<int>(() =>
{
Thread.Sleep(1000);
return 42;
});
}
}
Re[9]: ContinueWith
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Этот карго-культ экономит много времени на глупых трудновылавливаемых ошибках, вызванных забытым await. Оно, кстати, не только при просмотре кода полезно, решарпер использует наличие суффикса в одном из своих анализов на предмет как раз забытого await.
Ещё, когда я вызывают метод Task<T> DoSomethingAsync(), то ожидаю, что вернувшийся таск уже работает и надо только дождаться результата. А если DoSomething() возвращает Task, то большой вопрос, что с ним делать, запускать самому или он уже запущен и где-то работает. Интуитивно ожидается, то вернувшийся таск пока не запущен либо уже синхронно выполнился — непонятно короче.
НС>Этот карго-культ экономит много времени на глупых трудновылавливаемых ошибках, вызванных забытым await. Оно, кстати, не только при просмотре кода полезно, решарпер использует наличие суффикса в одном из своих анализов на предмет как раз забытого await.
Ещё, когда я вызывают метод Task<T> DoSomethingAsync(), то ожидаю, что вернувшийся таск уже работает и надо только дождаться результата. А если DoSomething() возвращает Task, то большой вопрос, что с ним делать, запускать самому или он уже запущен и где-то работает. Интуитивно ожидается, то вернувшийся таск пока не запущен либо уже синхронно выполнился — непонятно короче.
using System;
using System.Threading;
using System.Threading.Tasks;
internal class Program
{
private static async Task Main(string[] args)
{
var task = DoSomething();
//task.Start();
Console.WriteLine("waiting...");
var result = await task;
Console.WriteLine(result);
}
private static Task<int> DoSomething()
{
return new Task<int>(() =>
{
Thread.Sleep(1000);
return 42;
});
}
}