Articles of async await

Existem preocupações de desempenho com `return await`?

Eu vejo que há uma regra eslint, no-return-await , por não permitir o return await . Na descrição da regra, ele indica que um return await adiciona “extra time before the overarching Promise resolves or rejects” . No entanto, quando eu olho para documentos de function async MDN , o “Exemplo Simples” mostra um exemplo […]

Obtenha o TransactionScope para trabalhar com async / await

Estou tentando integrar async / await no nosso barramento de serviço. Implementei um SingleThreadSynchronizationContext base neste exemplo http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx . E funciona bem, exceto por uma coisa: TransactionScope . Aguardo o material dentro do TransactionScope e ele quebra o TransactionScope . TransactionScope parece não funcionar bem com o async / await , certamente porque armazena coisas […]

Por que não posso usar o operador ‘await’ no corpo de uma instrução de bloqueio?

A palavra-chave await em C # (.NET Async CTP) não é permitida a partir de uma instrução de bloqueio. Do MSDN : Uma expressão await não pode ser usada em uma function síncrona, em uma expressão de consulta, no bloco catch ou finally de uma instrução de tratamento de exceção, no bloco de uma instrução […]

Como transformar este callback em uma promise usando async / await?

A seguinte function é obtida e a imagem de uma URL, carrega-a e retorna sua largura e altura: function getImageData (url) { const img = new Image() img.addEventListener(‘load’, function () { return { width: this.naturalWidth, height: this.naturalHeight } }) img.src = url } O problema é, se eu fizer algo assim: ready () { console.log(getImageData(this.url)) […]

Como chamar com segurança um método asynchronous em C # sem aguardar

Eu tenho um método async que não retorna nenhum dado: public async Task MyAsyncMethod() { // do some stuff async, don’t return any data } Eu estou chamando isso de outro método que retorna alguns dados: public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return “hello world”; } Chamar MyAsyncMethod() […]

Alguém pode por favor explicar asynchronous / aguardar?

Estou começando a aprender sobre async / wait em C # 5.0, e eu não entendo nada disso. Eu não entendo como isso pode ser usado para o paralelismo. Eu tentei o seguinte programa muito básico: using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program […]

Existe algum equivalente asynchronous do Process.Start?

Como o título sugere, existe um equivalente a Process.Start (permite que você execute outro aplicativo ou arquivo de lote) que eu possa aguardar? Eu estou jogando com um pequeno aplicativo de console e este parecia ser o lugar perfeito para usar async e aguardar, mas não consigo encontrar qualquer documentação para este cenário. O que […]

Abordar fogo e esquecer

Relacionado a esta resposta , Se eu realmente quero “Fire and Forget” um método que retorna uma tarefa, e (por simplicidade) vamos supor que o método não é esperado para lançar qualquer exceção. Eu posso usar o método de extensão listado na resposta: public static void Forget(this Task task) { } Usando essa abordagem, se […]

Esperando sincronicamente por uma operação assíncrona, e por que o Wait () congela o programa aqui?

Prefácio : Estou procurando uma explicação, não apenas uma solução. Eu já conheço a solução. Apesar de ter passado vários dias estudando artigos do MSDN sobre o Padrão Assíncrono Baseado em Tarefas (TAP), async e aguarde, eu ainda estou um pouco confuso sobre alguns dos detalhes mais sutis. Estou escrevendo um criador de logs para […]

Como usar as APIs e padrões não-thread-safe do async / await com a API da Web do ASP.NET?

Essa questão foi acionada pelo contexto de dados EF – Async / Await e Multithreading . Eu respondi a essa pergunta, mas não forneci nenhuma solução definitiva. O problema original é que há muitas APIs úteis do .NET lá fora (como o DbContext do Microsoft Entity Framework), que fornecem methods asynchronouss projetados para serem usados […]