Articles of async await

É possível “aguardar retorno de rendimento DoSomethingAsync ()”

Os blocos regulares do iterador (ou seja, “return yield”) são incompatíveis com “async” e “await”? Isso dá uma boa ideia do que estou tentando fazer: async Task<IEnumerable> Method(String [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlStrings.SelectMany(link => //i have […]

Como Async.AwaitTask na tarefa simples (não Task )?

Eu estou tentando consumir uma biblioteca c # em F #. A biblioteca faz uso pesado de async / await. Eu quero usar dentro de um stream de trabalho async { … } em F #. Vejo que podemos Async.AwaitTask em methods Async.AwaitTask -c # retornando Task , mas e os que retornam o Task […]

Como aguardar uma lista de tarefas de forma assíncrona usando o LINQ?

Eu tenho uma lista de tarefas que eu criei assim: public async Task<IList> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); … } Usando .ToList() , todas as tarefas devem começar. Agora quero aguardar sua conclusão e devolver os resultados. Isso funciona no bloco acima … : var […]

C # Async – Como isso funciona?

A Microsoft anunciou o Visual Studio Async CTP hoje (28 de outubro de 2010) que apresenta as palavras-chave async e await em C # / VB para execução de método asynchronous. Primeiro, achei que o compilador traduzia as palavras-chave para a criação de um thread, mas, de acordo com o white paper e a apresentação […]

Como posso evitar continuações síncronas em uma tarefa?

Eu tenho um código de biblioteca (soquete de rede) que fornece uma API baseada em Task para respostas pendentes a solicitações, com base em TaskCompletionSource . No entanto, há um incômodo no TPL, pois parece impossível evitar continuações síncronas. O que eu gostaria de poder fazer é: informar um TaskCompletionSource que não deve permitir que […]

Paralelismo limitado com async / wait em Typescript / ES7

Eu tenho experimentado um pouco com o Typescript, mas agora estou um pouco preso sobre como usar async / wait efetivamente. Estou inserindo um monte de registros em um database e preciso obter a lista de IDs que são retornados por cada inserção. O seguinte exemplo simplificado funciona em geral, mas não é tão elegante […]

ConfigureAwait envia a continuação para um encadeamento de pool

Aqui está um código do WinForms: async void Form1_Load(object sender, EventArgs e) { // on the UI thread Debug.WriteLine(new { where = “before”, Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread }); var tcs = new TaskCompletionSource(); this.BeginInvoke(new MethodInvoker(() => tcs.SetResult(true))); await tcs.Task.ContinueWith(t => { // still on the UI thread Debug.WriteLine(new { where = “ContinueWith”, Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.IsThreadPoolThread }); }, TaskContinuationOptions.ExecuteSynchronously).ConfigureAwait(false); […]

Aguardar no bloco catch

Eu tenho o seguinte código: WebClient wc = new WebClient(); string result; try { result = await wc.DownloadStringTaskAsync( new Uri( “http://badurl” ) ); } catch { result = await wc.DownloadStringTaskAsync( new Uri( “http://fallbackurl” ) ); } Basicamente eu quero baixar de um URL e quando ele falhar com uma exceção eu quero baixar de outro […]

O operador Await só pode ser usado dentro de um método asynchronous

Eu estou tentando fazer um programa simples para testar a nova funcionalidade async .NET no Visual Studio 2012. Eu geralmente uso BackgroundWorkers para executar código demorado de forma assíncrona, mas às vezes parece um aborrecimento para uma operação relativamente simples (mas caro) . O novo modificador asynchronous parece ser ótimo de usar, mas infelizmente eu […]

async – fica no thread atual?

Eu li o artigo de Eric Lippert sobre o async e sobre as confusões que as pessoas tinham com a palavra async chave async . ele disse : ele ( async ) significa “este método contém stream de controle que envolve a espera de operações assíncronas e, portanto, será reescrito pelo compilador no estilo de […]