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 TypStandardBeschreibung
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 TypBeschreibung
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 TypStandardBeschreibung
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.