QueryParameters<T>
Beschreibt eine Ausführung einer Query<T>: wie geladen wird
und welche Callbacks laufen.
public class QueryParameters<T>Identität und Fetch#
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
| QueryKey | QueryKey? | <code>null</code> | Optionaler strukturierter Key; parallele Ausführungen mit demselben Key schließen sich an, statt zweimal zu fetchen. String-Literale konvertieren implizit. Null bedeutet den ungecachten Pfad. |
| QueryFunction | Func<CancellationToken, Task<T>>? | <code>null</code> | Die Funktion, die die Daten lädt. Der Token wird abgebrochen, wenn ein neuerer Ladevorgang diesen verdrängt oder die Query disposed wird; ein Fetch, der Abbruch nicht beobachten kann, ignoriert ihn mit einem Discard: _ => FetchAsync(). |
| CancellationToken | CancellationToken? | <code>null</code> | Vom Aufrufer verwalteter Lifetime-Token. Null innerhalb einer DejaComponentBase-Komponente bedeutet den Lifetime-Token der Komponente selbst. Ein hier gesetzter Wert ersetzt den ambienten Token, statt sich mit ihm zu kombinieren. |
| Client | DejaClient? | <code>null</code> | Cache-Client-Override für diese Ausführung. Bleibt meist null — Komponenten bekommen den registrierten Client automatisch. |
Callbacks#
Für jeden Moment gibt es ein synchrones und ein asynchrones Pendant; sind beide gesetzt, läuft das asynchrone zuerst. Settled-Callbacks laufen nach Erfolg oder einem behandelten Fehler — nie nach Abbruch. Reihenfolge und der Kontrakt für unbehandelte Fehler stehen im Guide zur Fehlerbehandlung.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| OnSuccessAsync / OnSuccess | Func<T?, Task>? / Action<T?>? | Wird aufgerufen, wenn die Query erfolgreich ist — auch dann, wenn eine Ausführung mit Key gecachte Daten ohne Fetch geliefert hat. Die asynchrone Form wird awaited, bevor Execute abschließt; ein abhängiger Request lässt sich also daran anschließen. |
| OnErrorAsync / OnError | Func<Exception, Task>? / Action<Exception>? | Wird aufgerufen, wenn die Query fehlschlägt. |
| OnDisplayUserErrorAsync / OnDisplayUserError | Func<DisplayUserException, Task>? / Action<DisplayUserException>? | Wird aufgerufen, wenn die Query mit einer DisplayUserException fehlschlägt — vor den allgemeinen Fehler-Callbacks. |
| OnSettledAsync / OnSettled | Func<T?, Task>? / Action<T?>? | Wird aufgerufen, wenn die Query settled ist (Erfolg oder behandelter Fehler, kein Abbruch) — auch bei einem Cache-Treffer, der nie gefetcht hat. |
Cache-Verhalten (nur gecachter Pfad)#
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
| StaleTime | TimeSpan? | <code>null</code> | Überschreibt DejaOptions.DefaultStaleTime für diese Query. |
| CacheTime | TimeSpan? | <code>null</code> | Überschreibt DejaOptions.DefaultCacheTime für den Eintrag dieser Query. |
| RefetchOnMount | RefetchOnMount? | <code>null</code> | Überschreibt DejaOptions.DefaultRefetchOnMount für diese Query. |
| Enabled | bool? | <code>null (enabled)</code> | Wenn false, liefert Execute gecachte Daten, fetcht aber nie — für Queries, deren Eingaben noch nicht bereit sind. |
| Select | Func<T, T>? | <code>null</code> | Transformiert den gecachten Wert, bevor er nach Data veröffentlicht wird — pro Query, sodass zwei Komponenten einen Eintrag unterschiedlich projizieren können. Der Cache speichert immer den Rohwert. |
| PlaceholderData | T? | <code>null</code> | Wird als Data gerendert, während der erste Fetch läuft und der Cache leer ist; wird nie in den Cache geschrieben. |
Auflösung der Defaults
StaleTime, CacheTime und RefetchOnMount fallen,
wenn sie null bleiben, auf das längste passende Präfix zurück, das über
DejaClient.SetDefaults registriert wurde, danach auf
DejaOptions.