Skip to content

calledByNext

La fonction calledByNext() enregistre un callback exécuté quand une nouvelle exécution du même flow remplace une exécution asynchrone encore active. Un cas d'usage classique consiste à annuler un fetch précédent avec AbortController.

Exemple interactif

Syntaxe

typescript
function calledByNext<
	GenericOutput extends unknown
>(
	theFunction: () => GenericOutput
): AsyncGenerator

Paramètres

  • theFunction : Callback appelé quand une exécution suivante du même flow arrive avant la fin de l'exécution courante.

Valeur de retour

Un générateur asynchrone qui émet un effet calledByNext. La valeur retournée par le callback n'est pas retournée par le flow.

Remarques

  • L'état interne est stocké dans une WeakMap dont la clé est la référence du flow exécuté.
  • Pour partager ce comportement entre plusieurs appels, réutilisez le même flow créé avec F.create(...) ou la même fonction obtenue avec F.toFunction(...).
  • Un F.run(async function *() { ... }) déclaré inline crée une nouvelle référence à chaque appel et ne partage donc pas l'état de calledByNext().
  • Si une même exécution yield plusieurs fois calledByNext(...), seul le premier effet rencontré est pris en compte par le runner.

Voir aussi

  • queue - Sérialise ou limite les exécutions concurrentes d'un même flow
  • throttling - Ignore ou reporte les appels trop rapprochés
  • exec - Exécute un flow imbriqué dans le flow courant

Diffusé sous licence MIT.