Bỏ qua, đến nội dung

@digiforce-nc/plugin-workflow-loop

Plugin đăng ký node vòng lặp (loop) trong workflow, mở rộng plugin-workflow. Lặp qua từng phần tử trong mảng và thực thi nhánh con (child branch) cho mỗi phần tử.

Plugin này làm gì?

Node Loop nhận một mảng dữ liệu và lặp qua từng phần tử. Với mỗi phần tử, nhánh con bên trong loop được thực thi với phần tử đó làm context. Sau khi tất cả phần tử được xử lý, workflow tiếp tục node tiếp theo.

Loop thực thi tuần tự (sequential) - phần tử sau chỉ bắt đầu khi phần tử trước hoàn thành. Nếu cần xử lý song song, kết hợp với Parallel node.

Cấu hình

Tham sốKiểuMô tả
targetstringBiến workflow chứa mảng cần lặp
conditionobjectĐiều kiện dừng loop sớm (tùy chọn)
maxIterationsnumberGiới hạn số vòng lặp tối đa (bảo vệ infinite loop)

Input / Output

HướngDữ liệuMô tả
InputtargetMảng dữ liệu cần lặp
InputitemPhần tử hiện tại (trong nhánh con)
InputindexChỉ số vòng lặp hiện tại (0-based)
OutputresultsMảng kết quả từ tất cả vòng lặp
OutputcountTổng số vòng lặp đã thực thi

Tính năng chính

#Tính năngChi tiết
1Iterate arrayLặp qua từng phần tử trong mảng
2Child branchMỗi vòng lặp thực thi đầy đủ nhánh con
3Context per itemMỗi vòng có biến itemindex riêng
4Break conditionCó thể dừng sớm khi thỏa điều kiện
5Safe guardmaxIterations ngăn infinite loop

Trường hợp sử dụng

#Kịch bảnMô tả
1Xử lý đơn hàngLặp qua từng line item, kiểm tra tồn kho cho mỗi sản phẩm
2Gửi email hàng loạtLặp qua danh sách recipients, gửi email cá nhân hóa
3Sync dữ liệuLặp qua mảng records, tạo/cập nhật từng bản ghi trong DB
4Validate danh sáchKiểm tra validation cho từng item, thu thập lỗi
5Batch processingXử lý tuần tự từng phần tử trong batch import

Biến khả dụng trong nhánh con

BiếnKiểuMô tả
itemanyPhần tử hiện tại đang xử lý
indexnumberChỉ số hiện tại (0-based)
lengthnumberTổng số phần tử trong mảng
context chaanyTất cả biến workflow cha vẫn truy cập được

Lưu ý quan trọng

  • Loop chạy tuần tự - mảng 100 phần tử sẽ mất thời gian gấp 100 lần 1 phần tử
  • maxIterations mặc định thường là 100 - tăng lên nếu mảng lớn hơn
  • Nhánh con có thể chứa bất kỳ node nào (kể cả loop lồng nhau)
  • Biến item bị ghi đè mỗi vòng - lưu vào Variable node nếu cần giữ lại
  • Nếu nhánh con lỗi ở 1 phần tử, toàn bộ loop dừng (trừ khi có error handling)

Dependencies

PackageVai trò
@digiforce-nc/plugin-workflowWorkflow engine (peer)
@digiforce-nc/serverServer framework (peer)

Mục lục chi tiết