Boucle
L'action Boucle exécute une action ou un ensemble d'actions un certain nombre de fois jusqu'à ce qu'une condition donnée soit remplie. Cette action fournit deux types de boucle :
Fois : répète une ou plusieurs tâches jusqu'à ce que le nombre d'itérations spécifié soit atteint. Par exemple, si vous souhaitez créer plusieurs contacts identiques sur votre compte OneDrive, utilisez ce type de boucle dans votre processus. Elle permet d'exécuter une tâche x nombre de fois.
Chaque élément : répète une ou plusieurs tâches pour chaque élément d'un tableau ou d'une collection. Utilisez ce type de boucle si vous souhaitez récupérer uniquement la valeur de la propriété "nom" de tous les objets d'un tableau renvoyé. La tâche est exécutée pour chaque élément du tableau ou de la collection.
Par exemple, vous pouvez utiliser l'option de boucle Chaque élément pour récupérer la liste de toutes vos cartes Trello et créer une tâche dans Google Tasks pour chaque carte. Le nom de chaque carte définira le titre de la tâche correspondante créée dans Google Tasks. Cette approche est beaucoup plus rapide que de créer plusieurs processus distincts destinés à récupérer le nom d'une unique carte Trello avant de créer une tâche dans Google Tasks.
Utilisation de l'action Boucle
Pour utiliser cette action dans votre processus, connectez-la à ThingWorx Flow. Pour ce faire, procédez comme suit :
1. Cliquez sur , puis faites glisser l'action Boucle sous l'utilitaire Boucle jusqu'au canevas. L'action Boucle peut être développée et réduite. Vous pouvez ajouter plusieurs actions dans le bloc de boucle pour créer des mini-processus. Lorsque vous faites glisser une action dans le canevas de processus, en dehors de la zone de boucle, il est ensuite impossible de la faire glisser dans cette dernière. Pour ajouter une action dans une boucle, vous devez la faire glisser depuis le panneau des actions directement dans la zone de boucle.
Lorsque le processus est exécuté, il commence par toutes les actions qui précèdent, puis exécute de manière répétée toutes les actions du bloc de boucle jusqu'à ce que le nombre d'itérations spécifié ou la condition définie soit atteint(e), avant de passer aux actions suivantes.
2. Placez le pointeur sur l'action, puis cliquez sur ou double-cliquez sur l'action. La fenêtre de l'action Boucle s'ouvre.
3. Modifiez le nom de l'étiquette, si nécessaire. Par défaut, le nom de l'étiquette est identique à celui de l'action.
4. Dans le champ Sélectionner type de boucle, sélectionnez l'une des options suivantes :
Fois : spécifiez dans le champ Nombre de fois le nombre souhaité d'exécutions du bloc de boucle. L'utilisation d'une telle boucle est recommandée lorsque le processus dans l'action Boucle n'a pas besoin de l'entrée de l'action précédente.
Chaque élément : la boucle s'exécute plusieurs fois, en prenant à chaque exécution un élément ou objet du tableau spécifié dans le champ Tableau ou objet source.
5. Cliquez sur Terminé.
La vidéo suivante illustre l'utilisation de l'action Boucle.
Schéma de sortie
L'action Boucle renvoie un schéma de sortie du type illustré ci-dessous :
currentIndex : cette propriété récupère l'index ou la position de l'itération actuelle.
currentItem : si la source sélectionnée dans les paramètres de boucle est un tableau d'objets, cette propriété renvoie l'objet courant pour chaque itération.
currentKey : si la source sélectionnée dans les paramètres de boucle est un objet, cette propriété ne renvoie que les clés de l'objet. Si la source est un tableau, elle renvoie l'index de chaque élément.
currentValue : si la source sélectionnée dans les paramètres de boucle est un objet, cette propriété ne renvoie que les valeurs de l'objet. Si la source est un tableau, elle renvoie tous les éléments du tableau, y compris les objets entiers, s'il en existe dans le tableau. Vous pouvez récupérer la valeur de clés ou de propriétés particulières en utilisant une notation avec points, du type {{$a0.currentValue.name}}.
totalLength : renvoie le nombre total d'objets d'un tableau d'objets, ou le nombre total d'éléments d'un tableau.