เอกสารประกอบสำหรับ node Loop Over Items ใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติของ workflow รวมถึงคำแนะนำในการใช้งาน และลิงก์ไปยังตัวอย่าง
node Loop Over Items ช่วยให้คุณวนซ้ำข้อมูลเมื่อจำเป็น
node จะบันทึกข้อมูลขาเข้าดั้งเดิม และในการวนซ้ำแต่ละครั้งจะส่งคืนข้อมูลตามจำนวนที่กำหนดไว้ล่วงหน้าผ่านทาง วนซ้ำ (loop) เอาท์พุท
เมื่อการดำเนินการ node เสร็จสิ้น มันจะรวมข้อมูลที่ประมวลผลทั้งหมดและส่งกลับผ่านทาง เสร็จแล้ว (done) เอาท์พุท
เมื่อใดจึงจะใช้ node Loop Over Items
ตามค่าเริ่มต้น node n8n ได้รับการออกแบบมาเพื่อประมวลผลรายการ input (โดยมีข้อยกเว้นบางประการ ตามรายละเอียดด้านล่าง) ขึ้นอยู่กับสิ่งที่คุณพยายามทำให้สำเร็จ คุณมักจะไม่จำเป็นต้องใช้ node Loop Over Items ใน workflow ของคุณ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ n8n ประมวลผลหลายรายการได้ใน วนซ้ำใน n8n หน้า
ลิงก์เหล่านี้เน้นย้ำบางกรณีที่ node Loop Over Items อาจมีประโยชน์:
- วนซ้ำจนกว่ารายการทั้งหมดจะได้รับการประมวลผล : อธิบายว่า node Loop Over Items แตกต่างจากการประมวลผลรายการปกติอย่างไร และเมื่อใดที่คุณอาจต้องการรวม node นี้
- ข้อยกเว้นของ node : สรุปกรณีและ node เฉพาะที่คุณอาจต้องใช้ node Loop Over Items เพื่อสร้างตรรกะการวนซ้ำด้วยตนเอง
- Handle rate limits : สาธิตวิธีจัดชุดคำขอ API เพื่อหลีกเลี่ยงขีดจำกัดอัตราจากบริการอื่นๆ
parameter node
Batch Size
ป้อนจำนวนรายการที่จะส่งคืนในการโทรแต่ละครั้ง
ตัวเลือก node
Reset
หากเปิดใช้งาน node จะรีเซ็ตด้วยข้อมูล input ปัจจุบันที่เพิ่งเริ่มต้นใหม่ในแต่ละลูป ใช้สิ่งนี้เมื่อคุณต้องการให้ node Loop Over Items ปฏิบัติต่อข้อมูลขาเข้าเป็นชุดข้อมูลใหม่ แทนที่จะเป็นความต่อเนื่องของรายการก่อนหน้า
ตัวอย่างเช่น คุณสามารถใช้ node Loop Over Items พร้อมตัวเลือกการรีเซ็ตและ If เพื่อสอบถามบริ pagination เมื่อคุณไม่ทราบว่าคุณต้องการกี่หน้าล่วงหน้า ลูปจะสอบถามเพจทีละหน้า ดำเนินการใดๆ ก็ตาม และเพิ่มหมายเลขหน้า การรีเซ็ตลูปช่วยให้มั่นใจได้ว่าลูปจะจดจำการวนซ้ำแต่ละครั้งเป็นชุดข้อมูลใหม่ node If จะประเมินเงื่อนไขการออกเพื่อตัดสินใจว่าจะดำเนินการวนซ้ำอีกครั้งหรือไม่
รวมเงื่อนไขการสิ้นสุดที่ถูกต้อง (Include a valid termination condition)
สำหรับ workflow เช่นตัวอย่างที่อธิบายไว้ข้างต้น จำเป็นอย่างยิ่งที่จะต้องรวมเงื่อนไขการสิ้นสุดที่ถูกต้องสำหรับลูปด้วย หากเงื่อนไขการยกเลิกของคุณไม่ตรงกัน การดำเนินการ workflow ของคุณจะติดอยู่ในวงวนไม่สิ้นสุด
เมื่อเปิดใช้งาน คุณสามารถปรับเงื่อนไขการรีเซ็ตได้โดยการสลับการแสดง parameter จาก Fixed ถึง Expression . ผลลัพธ์ของการประเมิน expression ของคุณจะเป็นตัวกำหนดว่า node จะรีเซ็ตการประมวลผลรายการเมื่อใด
เทมเพลตและตัวอย่าง
เรียกดูเทมเพลตการรวม Loop Over Items (แยกเป็นชุด) หรือ ค้นหาเทมเพลตทั้งหมด
อ่านฟีด RSS จากสองแหล่งที่แตกต่างกัน (Read RSS feed from two different sources)
workflow นี้ช่วยให้คุณอ่านฟีด RSS จากสองแหล่งที่แตกต่างกันโดยใช้ node Loop Over Items คุณต้องมี node Loop Over Items ใน workflow เนื่องจาก node RSS Feed Read ประมวลผลเฉพาะรายการแรกที่ได้รับเท่านั้น คุณยังสามารถค้นหา ขั้นตอนการทำงาน บน n8n.io
ตัวอย่างนี้จะอธิบายขั้นตอนการสร้าง workflow แต่ถือว่าคุณคุ้นเคยกับ n8n อยู่แล้ว หากต้องการสร้าง workflow แรกของคุณ รวมถึงการเรียนรู้วิธีเพิ่ม node ใน workflow โปรดดูที่ Build your first workflow.
ขั้นตอนการทำงานขั้นสุดท้ายมีลักษณะดังนี้:
Loop Over Items (Split in Batches)
คัดลอกไฟล์ workflow ด้านบนและวางลงในอินสแตนซ์ของคุณ หรือสร้างด้วยตนเองโดยทำตามขั้นตอนเหล่านี้:
เพิ่ม trigger แบบแมนนวล
เพิ่ม node รหัส
คัดลอกรหัสนี้ลงใน node รหัส:
return [ { json: { url: 'https://medium.com/feed/n8n-io', } }, { json: { url: 'https://dev.to/feed/n8n', } } ];เพิ่ม node วนรอบรายการ
กำหนดค่ารายการวนซ้ำ: ตั้งค่าขนาดแบทช์เป็น
1ใน Batch Size สนามเพิ่ม node อ่านฟีด RSS
เลือก Execute Workflow . ซึ่งจะเรียกใช้ workflow เพื่อโหลดข้อมูลลงใน node อ่านฟีด RSS
กำหนดค่าการอ่านฟีด RSS: แผนที่
urlจาก input ไปยัง URL สนาม คุณสามารถทำได้โดยการลากและวางจาก INPUT แผงหน้าปัด หรือใช้ expression นี้:{{ $json.url }}.เลือก Execute Workflow เพื่อรัน workflow และดูข้อมูลผลลัพธ์
ตรวจสอบว่า node ได้ประมวลผลรายการทั้งหมดแล้ว (Check that the node has processed all items)
หากต้องการตรวจสอบว่า node ยังมีรายการที่ต้องดำเนินการหรือไม่ ให้ใช้ expression ต่อไปนี้: {{$("Loop Over Items").context["noItemsLeft"]}} . expression นี้ส่งคืนค่า boolean หาก node ยังคงมีข้อมูลที่ต้องประมวลผล expression จะส่งกลับ false ไม่เช่นนั้นก็จะส่งคืน true.
รับดัชนีการทำงานปัจจุบันของ node (Get the current running index of the node)
หากต้องการรับดัชนีการทำงานปัจจุบันของ node ให้ใช้ expression ต่อไปนี้: {{$("Loop Over Items").context["currentRunIndex"];}}.

