Skip to content

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, un Either ou 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 Left ou Right : l'Either est renvoyé tel quel.
  • Si l'entrée réussit avec une valeur non Either : la valeur est encapsulée dans SafeCallbackSuccess.
  • 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 un Left typé.

Diffusé sous licence MIT.