Articles of async

Aguardando por mais de um concorrente aguardando operação

Como posso alterar o código a seguir para que as duas operações assíncronas sejam acionadas e tenham a oportunidade de serem executadas simultaneamente? const value1 = await getValue1Async(); const value2 = await getValue2Async(); // use both values Eu preciso fazer algo assim? const p1 = getValue1Async(); const p2 = getValue2Async(); const value1 = await p1; […]

try / catch blocks com async / await

Eu estou cavando no nó 7 async / await recurso e continuar tropeçando em código como este async function main() { try { var quote = await getQuote(); console.log(quote); } catch(error) { console.error(error); } } Esta parece ser a única possibilidade de resolver / rejeitar ou retornar / lançar com async / wait, no entanto, […]

Chamando methods asynchronouss de um serviço WCF

Eu quero chamar methods asynchronouss de um serviço WCF, algo como: [ServiceContract] interface IService { [OperationContract] int SomeMethod(int data); } int SomeMethod(int data) { var query = … build LINQ query; var response = await query.ToListAsync(); return response.Length; } Eu não quero adicionar async à interface IService ou ao método SomeMethod . O uso de […]

Qual é o equivalente async / wait de um servidor ThreadPool?

Eu estou trabalhando em um servidor tcp que se parece com isso usando apis síncronas e o pool de threads: TcpListener listener; void Serve(){ while(true){ var client = listener.AcceptTcpClient(); ThreadPool.QueueUserWorkItem(this.HandleConnection, client); //Or alternatively new Thread(HandleConnection).Start(client) } } Assumindo que meu objective é lidar com o maior número possível de conexões simultâneas com o menor uso […]

Como limitar a quantidade de operações de E / S assíncronas simultâneas?

// let’s say there is a list of 1000+ URLs string[] urls = { “http://google.com”, “http://yahoo.com”, … }; // now let’s send HTTP requests to each of these URLs in parallel urls.AsParallel().ForAll(async (url) => { var client = new HttpClient(); var html = await client.GetStringAsync(url); }); Aqui está o problema, ele inicia mais de 1000 […]

Corrigir tente … syntax de captura usando async / Await

Eu gosto do nivelamento do novo recurso Async/Await disponível em Typescript, etc. No entanto, eu não tenho certeza se eu gosto do fato de que tenho que declarar a variável que estou await do lado de fora de uma try…catch bloco, a fim de usá-lo mais tarde. Igual a: let createdUser try { createdUser = […]

Função assíncrona não retornando valor, mas console.log () faz: como fazer?

Eu tenho uma class es6, com um método init() responsável por buscar dados, transformá-los e atualizar a propriedade da class this.data com dados recém-transformados. Por enquanto, tudo bem. A class em si tem outro método getPostById() , para fazer apenas o que parece. Aqui está o código para a class: class Posts { constructor(url) { […]

Aguarda trabalhos, mas chama a tarefa. Rescue / deadlocks

Eu tenho os seguintes quatro testes e o último trava quando eu corro, a minha pergunta é por que isso acontece: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); […]

Usando async / wait com um loop forEach

Há algum problema com o uso de async/await forEach em um loop forEach ? Eu estou tentando percorrer uma matriz de arquivos e await o conteúdo de cada arquivo. import fs from ‘fs-promise’ async function printFiles () { const files = await getFilePaths() // Assume this works fine files.forEach(async (file) => { const contents = […]