Bỏ qua, đến nội dung

Cấu hình node - Parallel

Node chạy song song nhiều nhánh đồng thời với các chế độ: all (chờ tất cả), any (bất kỳ), race (nhanh nhất).

Bảng tham số cấu hình

Tham sốKiểuBắt buộcMặc địnhMô tả
modestringChế độ: all, any, race
branchesarrayDanh sách nhánh con cần thực thi
continueOnErrorbooleanKhôngfalseTiếp tục nhánh khác nếu một nhánh lỗi (chỉ với mode all)

Dữ liệu đầu ra (Output)

TênKiểuMô tả
resultsarrayMảng kết quả từ các nhánh (mode all)
resultanyKết quả nhánh đầu tiên hoàn thành (mode any/race)
errorsarrayMảng lỗi từ các nhánh thất bại

So sánh các mode

ModeChờKết quảKhi 1 nhánh lỗiTương tự
allTất cả hoàn thànhMảng resultsDừng (hoặc tiếp nếu continueOnError)Promise.all
anyBất kỳ thành côngResult đầu tiên thành côngTiếp tục chờ nhánh khácPromise.any
raceNhánh nhanh nhấtResult nhanh nhất (kể cả lỗi)Lấy luônPromise.race

Lưu ý quan trọng

  • Tất cả nhánh nhận cùng context (read-only) - thay đổi trong 1 nhánh không ảnh hưởng nhánh khác
  • Mode race: nhánh còn lại vẫn chạy nhưng kết quả bị bỏ qua
  • Mode all + continueOnError: false: 1 nhánh lỗi sẽ dừng toàn bộ parallel
  • Không nên lồng quá nhiều parallel (2-3 cấp max) để tránh phức tạp khi debug
  • Mỗi nhánh có thể chứa nhiều node nối tiếp nhau (sub-workflow)
  • Parallel giảm thời gian xử lý tổng thể khi các nhánh độc lập với nhau