asyncSafeCallback
Exécute un callback ou une promesse dans un bloc asynchrone sécurisé. Si le callback lève une erreur ou si la promesse rejette, la fonction résout vers un Left typé "safe-callback-error" au lieu de propager l'erreur. Si l'entrée produit un Either, il est conservé tel quel. Les autres valeurs résolues sont encapsulées dans un Right.
Exemple interactif
Syntaxe
typescript
function asyncSafeCallback<
const GenericOutput extends unknown
>(
maybeFunction: (() => GenericOutput) | Promise<GenericOutput>
): Promise<Extract<ComputeSafeCallbackResult<GenericOutput>, any>>;Paramètres
maybeFunction: Callback ou promesse à exécuter en mode sécurisé. Le résultat peut être une valeur directe, unEitherou une promesse de l'un des deux.
Valeur de retour
Une promesse qui résout selon ces règles :
- Si l'entrée produit un
LeftouRight: l'Eitherest renvoyé tel quel. - Si l'entrée réussit avec une valeur non
Either: la valeur est encapsulée dansSafeCallbackSuccess. - Si le callback lève une erreur ou si la promesse rejette :
SafeCallbackError(left("safe-callback-error", error)) est résolu.
Voir aussi
safeCallback– Version qui conserve une sortie synchrone quand c'est possible.left– Construire unLefttypé.
