MutationParameters<T>
Beschreibt eine Ausführung einer Mutation<T>: was ausgeführt
wird und welche Callbacks aufgerufen werden.
public class MutationParameters<T>Mutationsfunktionen#
Setze genau eine. Vorrang, wenn mehrere gesetzt sind: CancellableMutationFunction
> MutationFunction > CancellableVoidMutationFunction >
VoidMutationFunction. Nur die Formen mit Rückgabewert schreiben
Data. Wird keine übergeben, wird eine ArgumentException geworfen.
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
| MutationFunction | Func<Task<T>>? | <code>null</code> | Die auszuführende Mutation. Hat Vorrang vor VoidMutationFunction. |
| VoidMutationFunction | Func<Task>? | <code>null</code> | Eine Mutation ohne Rückgabewert; wird genutzt, wenn MutationFunction nicht gesetzt ist. |
| CancellableMutationFunction | Func<CancellationToken, Task<T>>? | <code>null</code> | Die auszuführende Mutation, die einen Cancellation-Token erhält. Hat Vorrang vor allen anderen Formen. Der Token wird abgebrochen, wenn die besitzende Komponente disposed wird. |
| CancellableVoidMutationFunction | Func<CancellationToken, Task>? | <code>null</code> | Eine abbruchfähige Mutation ohne Rückgabewert. |
Callbacks und Steuerung#
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
| CancellationToken | CancellationToken? | <code>null</code> | Vom Aufrufer verwalteter Lifetime-Token; null bedeutet den Lifetime-Token der besitzenden Komponente. Ein hier gesetzter Wert ersetzt den ambienten Token, statt sich mit ihm zu kombinieren. |
| OnSuccessAsync / OnSuccess | Func<T?, Task>? / Action<T?>? | — | Wird aufgerufen, wenn die Mutation erfolgreich ist. Die asynchrone Form wird awaited, bevor InvalidateKeys läuft und Execute abschließt; Folge-Queries oder -Mutations lassen sich also daran anschließen. |
| OnErrorAsync / OnError | Func<Exception, Task>? / Action<Exception>? | — | Wird aufgerufen, wenn die Mutation fehlschlägt. |
| OnDisplayUserErrorAsync / OnDisplayUserError | Func<DisplayUserException, Task>? / Action<DisplayUserException>? | — | Wird aufgerufen, wenn die Mutation mit einer DisplayUserException fehlschlägt. |
| OnSettledAsync / OnSettled | Func<T?, Task>? / Action<T?>? | — | Wird aufgerufen, wenn die Mutation settled ist (Erfolg oder Fehler; kein Abbruch). |
| Client | DejaClient? | <code>null</code> | Cache-Client-Override für diese Ausführung; bleibt meist null. |
| InvalidateKeys | IReadOnlyList<QueryKey>? | <code>null</code> | Keys, die nach erfolgreicher Mutation und gelaufenem OnSuccess invalidiert werden (Präfix-Match). Jede gemountete Query darunter lädt im Hintergrund neu. Ohne registrierten Client ignoriert. |
Beispiel#
await _addTodo.Execute(new MutationParameters<Todo>
{
CancellableMutationFunction = token => Api.AddTodoAsync(title, token),
InvalidateKeys = [QueryKey.Of("todos")],
OnError = e => _error = e.Message,
});