Skip to content

asyncLoop ​

La fonction asyncLoop() crée un générateur asynchrone personnalisé en utilisant une fonction de boucle asynchrone. Permet de générer des séquences de valeurs de manière lazy avec des opérations asynchrones.

Exemple interactif ​

Syntaxe ​

typescript
async function asyncLoop<
	GenericRawExitOutput extends any = undefined,
	GenericRawNextOutput extends any = undefined,
>(
	loop: (params: GeneratorLoopParams<GenericRawNextOutput>) => Promise<
		| LoopOutputNextResult<GenericRawNextOutput>
		| LoopOutputNextResult<undefined>
		| LoopOutputExistResult<GenericRawExitOutput>
		| LoopOutputExistResult<undefined>
	>
): AsyncGenerator<
	Exclude<GenericRawExitOutput | GenericRawNextOutput, undefined>,
	unknown,
	unknown
>

Paramètres ​

  • loop : Fonction asynchrone appelée à chaque itération qui reçoit :
    • count : Index de l'itération courante
    • previousOutput : Valeur retournée par l'itération précédente
    • next(value?) : Continue la boucle et émet une valeur
    • exit(value?) : Termine la boucle et émet une valeur finale optionnelle

Valeur de retour ​

Un AsyncGenerator qui émet les valeurs passées à next() et exit().

Voir aussi ​

  • loop - Version synchrone de asyncLoop
  • asyncMap - Transforme les éléments avec une fonction asynchrone
  • execute - Consomme un générateur

Sources ​

Diffusé sous licence MIT.