¿Existe una interfaz prometedora para la clase Task
como el método promise
diferido de jQuery?Clase de tarea de .NET 4.0: ¿Interfaz de promesa?
Respuesta
El TPL y la clase Task son muy diferentes de la promesa de jQuery.
A Task
es realmente más como la acción original. Si desea ejecutar algo cuando se completa la tarea, debe usar continuación en la Tarea. Esto parecería efectivamente más como:
Task someTask = RunMethodAsync();
someTask.ContinueWith(t =>
{
// This runs after the task completes, similar to how promise() would work
});
Si desea continuar en múltiples tareas, puede utilizar Task.Factory.
ContinueWhenAll
o Task.Factory.
ContinueWhenAny
hacer continuaciones que funciona en múltiples tareas.
Eso suena como una continuación, entonces use .ContinueWith(callback)
; o en C# 5.0, simplemente await
, es decir
var task = /*...*/
var result = await task;
// everything here happens later on, when it is completed
// (assuming it isn't already)
API diferente, pero yo creo hace lo que usted está pidiendo (un poco difícil estar seguro ... No estoy totalmente seguro de entender la pregunta)
Parece que estás buscando TaskCompletionSource:
var tcs = new TaskCompletionSource<Args>();
var obj = new SomeApi();
// will get raised, when the work is done
obj.Done += (args) =>
{
// this will notify the caller
// of the SomeApiWrapper that
// the task just completed
tcs.SetResult(args);
}
// start the work
obj.Do();
return tcs.Task;
El código se toma aquí: When should TaskCompletionSource<T> be used?
- 1. tarea Nant msbuild con .net 4.0 rc
- 2. Implementación dinámica de una interfaz en .NET 4.0 (C#)
- 3. Asesinato de una tarea .NET 4?
- 4. MembershipProvider en .NET 4.0
- 5. Control de crucero .NET 4.0 MSBUILD Logger
- 6. .NET 4.0 Implementación de OutputCacheProvider
- 7. .net 4.0 Tasa de adopción
- 8. hacer referencia a una interfaz de shell de Windows utilizando .NET 4.0
- 9. cambios de ruptura en .NET 4.0
- 10. log4net con .NET 4.0
- 11. Permcalc.exe para .NET 4.0
- 12. Svcutil.exe para .NET 4.0?
- 13. Log4Net y .NET 4.0
- 14. .net Compact Framework 4.0
- 15. .Net 4.0 HttpClient uso?
- 16. ninject .net 4.0
- 17. FxCop para .NET 4.0
- 18. Falta ServiceHostFactory en .NET 4.0?
- 19. .Net 4.0 System.Web.Security.MembershipProvider ¿referencia ambigua?
- 20. Soporte de NHibernate .NET Framework 4.0?
- 21. Recolección de basura en .NET 4.0
- 22. .NET 4.0 Framework Requisitos de actualización?
- 23. .NET 4.0 WPF Excepción de automatización
- 24. Cola de prioridad concurrente en .NET 4.0
- 25. Tipo de varianza en .NET Framework 4.0
- 26. .NET 4.0 aplicación interna de tipo
- 27. Funciones paralelas en .Net 4.0
- 28. Actualización de un proyecto .Net 2.0 a .Net 4.0
- 29. ¿Funciona .net 4.5 al lado de .NET 4.0?
- 30. Mi tarea asíncrona siempre bloques de la interfaz de usuario
Podría elaborar? No entiendo lo que esperas. –