Articles of async

¿Cómo esperar una lista de tareas de forma asincrónica utilizando LINQ?

Tengo una lista de tareas que he creado así: public async Task<IList> GetFoosAndDoSomethingAsync() { var foos = await GetFoosAsync(); var tasks = foos.Select(async foo => await DoSomethingAsync(foo)).ToList(); … } Al usar .ToList() , todas las tareas deberían comenzar. Ahora quiero esperar su finalización y devolver los resultados. Esto funciona en el bloque de arriba … […]

¿Cómo encontrar qué promesas no se han manejado en Node.js UnhandledPromiseRejectionWarning?

Node.js de la versión 7 tiene azúcar sintáctica asincrónica / espera para el manejo de promesas y ahora en mi código aparece la siguiente advertencia con bastante frecuencia: (node:11057) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ReferenceError: Error: Can’t set headers after they are sent. (node:11057) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, […]

Si mi interfaz debe devolver Tarea, ¿cuál es la mejor manera de tener una implementación sin operación?

En el siguiente código, debido a la interfaz, la clase LazyBar debe devolver una tarea desde su método (y por razones de argumentos no se puede cambiar). Si la implementación de LazyBar es inusual en el sentido de que se ejecuta de forma rápida y sincrónica, ¿cuál es la mejor manera de devolver una tarea […]

Diferentes formas de la interfaz de contrato de servicio WCF

Parece que puedo cambiar libremente entre las siguientes tres versiones diferentes de la misma API de interfaz de contrato de WCF, sin romper los clientes: [ServiceContract] interface IService { // Either synchronous // [OperationContract] // int SomeMethod(int arg); // Or TAP [OperationContract] Task SomeMethodAsync(int arg); // Or APM // [OperationContract(AsyncPattern = true)] // IAsyncResult BeginSomeMethod(int […]

Implementación Async de IValueConverter

Si es un método asíncrono que quiero activar dentro de un IValueConverter. ¿Hay una mejor Espera luego forzando que sea sincrónica llamando al resultado Propiedad? public async Task Convert(object value, Type targetType, object parameter, string language) { StorageFile file = value as StorageFile; if (file != null) { var image = ImageEx.ImageFromFile(file).Result; return image; } […]

Bloqueo Async no permitido

Básicamente, quiero hacer múltiples solicitudes asincrónicas a un servidor tcp. Actualmente tengo un cliente en funcionamiento que solo es síncrono y bloquea la IU en cada llamada de red. Como las solicitudes múltiples pueden ocurrir casi al mismo tiempo, traté de hacer esto: private object readonly readLock = new object(); public async Task UpdateDetailsAsync() { […]

Patrón para llamar al servicio WCF usando async / await

Genere un proxy con operaciones basadas en tareas . ¿Cómo debería invocarse este servicio de forma adecuada (eliminando ServiceClient y OperationContext después) utilizando async / await? Mi primer bash fue: public async Task GetHomeInfoAsync(DateTime timestamp) { using (var helper = new ServiceHelper()) { return await helper.Proxy.GetHomeInfoAsync(timestamp); } } Siendo ServiceHelper una clase que crea ServiceClient […]

No se puede lanzar el error desde una función ejecutora de promesa asincrónica

He intentado obtener una comprensión conceptual de por qué el siguiente código no capta el throw . Si elimina la palabra clave async del new Promise(async (resolve, … part), entonces funciona bien, por lo que tiene que ver con el hecho de que el ejecutor Promise es una función asíncrona. (async function() { try { […]

Las operaciones de red asincrónicas nunca terminan

Tengo varias operaciones de red asíncronas que devuelven una tarea que puede que nunca termine: UdpClient.ReceiveAsync no acepta un CancellationToken TcpClient.GetStream devuelve un NetworkStream que no respeta el CancellationToken en Stream.ReadAsync (verificando la cancelación solo al comienzo de la operación) Ambos esperan un mensaje que quizás nunca llegue (debido a la pérdida de paquetes o […]

¿Puedo disparar y olvidar una promesa en nodejs (ES7)?

Me gustaría ejecutar este código con babel: redisClientAsync.delAsync(‘key’); return await someOtherAsyncFunction(); dentro de una función asíncrona sin esperar la primera línea. ¿esta bien? ¿De qué otra manera puedo ejecutar algo que no me importa? ¿Puedo simplemente disparar la función no promisificada del (‘key’, null) sin una callback?