Czy istnieje interfejs obietnicy dla klasy Task
, takiej jak metoda jQuery's deferred's promise
?Klasa zadań .NET 4.0 - interfejs obietnicy?
12
A
Odpowiedz
16
OC i klasa Zadanie są bardzo różne od obietnicy jQuery.
A Task
jest faktycznie bardziej przypomina oryginalną akcję. Jeśli chcesz, aby coś działało, gdy zadanie zostało zakończone, użyjesz kontynuacji w zadaniu. To faktycznie wygląda bardziej jak:
Task someTask = RunMethodAsync();
someTask.ContinueWith(t =>
{
// This runs after the task completes, similar to how promise() would work
});
Jeśli chcesz kontynuować na wielu zadań, można użyć Task.Factory.
ContinueWhenAll
lub Task.Factory.
ContinueWhenAny
zrobić kontynuacje, który działa na wielu zadań.
5
To brzmi jak kontynuacja, więc użyj .ContinueWith(callback)
; lub w C# 5.0, po prostu await
, tj
var task = /*...*/
var result = await task;
// everything here happens later on, when it is completed
// (assuming it isn't already)
inny API, ale myślę robi to co prosicie (trochę ciężko, aby upewnić się ... Nie jestem całkowicie pewien Rozumiem pytanie)
5
Wydaje się, że szukasz 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;
Kod pochodzi stąd: When should TaskCompletionSource<T> be used?
Powiązane problemy
- 1. Biblioteka zadań równoległych z .net 4.0 a MPI.NET
- 2. TypScript ścisła klasa/interfejs
- 3. FxCop dla .NET 4.0
- 4. Svcutil.exe dla .NET 4.0?
- 5. Log4Net i .NET 4.0
- 6. .net Compact Framework 4.0
- 7. Aktualizacja projektu .Net 2.0 do .Net 4.0
- 8. ma .Net 4.5 zawierają .Net 4.0
- 9. Czy .net 4.5 działa obok .net 4.0?
- 10. Java abstrakcyjna klasa implementuje interfejs
- 11. klasa Fabryka powrocie rodzajowy interfejs
- 12. Klasa abstrakcyjna i interfejs razem?
- 13. .NET Interfejs TAPI
- 14. Przełamując zmiany w .NET 4.0
- 15. .NET 4.0 - AccessViolationException i WndProc
- 16. .Net 4.0 System.Web.Security.MembershipProvider niejednoznaczne odwołanie?
- 17. cloud computing w .net 4.0
- 18. Instalator NSIS z .NET 4.0
- 19. Log4Net i .NET 4.0 RC
- 20. .NET RegionInfo klasa
- 21. Klasa manipulacji URI .NET
- 22. Śledzenie przepływu zadań C#/.NET
- 23. .NET 4 Tutorial klasy zadań
- 24. Obsługa raportów postępu i przyrostowych wyników w bibliotece zadań ".NET 4.0"
- 25. Najlepszy interfejs API .NET OCR?
- 26. Interfejs lub Klasa abstrakcyjna do spełnienia
- 27. Ogólna klasa rozszerzająca ORAZ implementuje interfejs
- 28. (Beginner Java) klasa, interfejs lub wyliczenie oczekiwane
- 29. Android Studio "klasa" lub "interfejs" oczekiwane
- 30. błąd kompilatora: „klasa, interfejs, lub enum oczekiwano”
Mógłbyś rozwinąć? Nie rozumiem, czego się spodziewasz. –