Yineleyici Ne Zaman Kullanılır
| Senaryo | Örnek |
|---|---|
| Arama sonuçlarını işleyin | Bulunan her kişiye e-posta gönderin |
| Webhook dizilerini yönetin | Her öğe için sırayla kayıtlar oluşturun |
| Toplu güncellemeler | Birden çok kaydı hesaplanan değerlerle güncelleyin |
| Bildirimler | Bir etkinlik hakkında birden fazla kişiyi uyarın |
Yineleyiciyi Anlama
Yineleyici, girdi olarak bir dizi bekler. Ardından:- Diziden ilk öğeyi alır
- Yineleyicinin içindeki tüm eylemleri o öğeyle çalıştırır
- Sonraki öğeye geçer
- Tüm öğeler işlenene kadar tekrarlar
Temel Kurulum
Örnek: Arama Sonuçlarındaki Herkese E-posta Gönderme
Hedef: Belirli bir şirketteki tüm kişileri bulun ve her birine kişiselleştirilmiş bir e-posta gönderin.Adım 1: Kayıt Ara
- Kayıt Ara eylemini ekleyin
- Nesne: Kişiler
- Filtre: Şirket “Acme Inc“‘e eşit
- Bu, bir kişi dizisi döndürür
Adım 2: Sonuçların Mevcut Olduğunu Kontrol Edin
- Filtre eylemi ekleyin
- Koşul:
{{searchRecords.length}}0’dan büyüktür - Bu, boş sonuçlarda Yineleyici hatalarını önler
Adım 3: Yineleyici Ekleyin
- Yineleyici eylemini ekleyin
- Dizi girişi:
{{searchRecords}}öğesini seçin - Bu bir döngü oluşturur
Adım 4: Yineleyici İçine Eylemler Ekleyin
Yineleyiciden sonra yerleştirilen eylemler her öğe için çalışır:- Bir E-posta Gönder eylemi ekleyin (yineleyici içinde)
- Kime:
{{iterator.currentItem.email}} - Konu: Merhaba
{{iterator.currentItem.firstName}}! - Gövde: Mevcut öğenin alanlarını kullanarak kişiselleştirilmiş mesaj
Sonuç
Search Records 5 kişi döndürürse, Yineleyici:-
- kişiye e-posta gönderir
-
- kişiye e-posta gönderir
- … tüm 5’i için de devam eder
Geçerli Öğe Verilerine Erişim
Yineleyici içinde, geçerli kayda erişmek için{{iterator.currentItem}} kullanın:
| Değişken | Açıklama |
|---|---|
{{iterator.currentItem}} | Geçerli kayıt nesnesinin tamamı |
{{iterator.currentItem.id}} | Kayıt Kimliği |
{{iterator.currentItem.email}} | E-posta alanı |
{{iterator.currentItem.company.name}} | İlgili şirket adı |
{{iterator.index}} | Dizideki mevcut konum (0 tabanlı) |
Yaygın Kalıplar
Birden Çok Kaydı Güncelleyin
Hedef: Vadesi geçmiş tüm görevleri “Geç” olarak işaretleyinDiziden Kayıtlar Oluşturun
Hedef: Webhook birden çok öğe içeren bir sipariş aldığında, her bir öğe için bir kayıt oluşturunDöngü İçinde Koşullu İşleme
Hedef: Yalnızca geçerli e-postası olan kişilere e-posta gönderinSorun Giderme
”Iterator expects an array”
Neden: Bir dizi yerine tek bir kayıt geçtiniz. Düzeltme: Tek bir kayıt değil, Search Records sonucunu veya bir dizi alanını geçtiğinizden emin olun.Yineleyici Çalışmıyor
Neden: Dizi boş. Düzeltme: Dizi uzunluğunu kontrol etmek için Yineleyiciden önce bir Filtre ekleyin:Eylemler Çok Fazla Kez Çalıştırılıyor
Neden: Search Records beklenenden daha fazla kayıt döndürdü. Düzeltme:- Search Records’a daha spesifik filtreler ekleyin
- Search Records için bir sınır belirleyin (en fazla 200)
- Ek koşullar için Yineleyici içinde Filtre ekleyin
Performansla İlgili Hususlar
- Kredi kullanımı: Her yineleme, eylemleri için kredi tüketir
- Zaman: Büyük dizilerin işlenmesi daha uzun sürer
- Sınırlar: Çok büyük işlemleri toplu olarak çalıştırmayı düşünün
- Oran sınırlamaları: Çok sayıda yinelemede harici API çağrıları oran sınırlarına takılabilir
En İyi Uygulamalar
- Hatalardan kaçınmak için Yineleyiciden önce dizi uzunluğunu her zaman kontrol edin
- Tüm öğelerin işlenmesine gerek olmadığında döngülerin içine filtreler ekleyin
- Neyin üzerinden döngü yaptığını açıklamak için Yineleyici adımınızı yeniden adlandırın
- Büyük veri kümelerini işlemeye başlamadan önce küçük dizilerle test edin
- Yinelemelerin beklendiği gibi tamamlandığından emin olmak için iş akışı çalıştırmalarını izleyin