У меня есть это:
public static async Task Main(string[] args)
{
try
{
var block = new TransformBlock<int, int>(x =>
{
if (x == 1)
{
throw new Exception("transform");
}
return x * 2;
});
var outputBlock = new ActionBlock<int>(Console.WriteLine);
block.LinkTo(outputBlock, new DataflowLinkOptions { PropagateCompletion = true });
block.Post(4);
await block.Completion;
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
Он бежит к линии «жду» и останавливается, кажется, он зависает. Я думаю, что я уже указал «LinkTo» для потребителя для блока и назвал «Post» для подачи ввода. Почему завершение не заканчивается?
Как это исправить?