Return (Trả về)
Kết thúc cả flow từ bất kỳ đâu, kể cả trong vòng lặp.
Mục đích
Kết thúc lần chạy với trạng thái và thông điệp tuyên bố, y hệt Stop — nhưng thiết kế để với tới được từ sâu trong một cấu trúc nơi Stop đọc dở, thường nhất là trong vùng lặp.
Khi nào dùng
- Kết thúc flow từ trong vòng lặp, nơi Break chỉ rời vòng.
- Thoát sớm khỏi cấu trúc lồng nhau.
- Một mệnh đề gác sâu trong đồ thị nên kết thúc mọi thứ.
Khi nào không dùng
- Rời vòng nhưng đi tiếp — dùng Break.
- Bỏ một lượt lặp — dùng Continue.
- Ở đoạn kết tự nhiên của flow — Stop đọc rõ hơn như một điểm cuối.
Điều kiện
Không có ngoài một final status.
Cách nó chạy
Return kết thúc lần chạy ngay với trạng thái và thông điệp tuyên bố. Như Stop, nó là điểm cuối: không edge nào được phân giải, và không có port ra.
Khác biệt với Break quan trọng:
Thiết lập
| Thiết lập | Kiểu | Khoảng | Ghi chú |
|---|---|---|---|
| Final status | lựa chọn | success, failure, cancelled | Kết cục của lần chạy |
| Message | string | ≤ 500 ký tự | Tùy chọn. Hiện trong log |
Y hệt Stop — khác biệt là ý định và vị trí, không phải cấu hình.
Port
Return là node kết thúc. Nó không có port ra.
Ví dụ cơ bản
Hủy từ trong vòng lặp khi đụng giới hạn cứng:
- Final status: failure
- Message:
"Đụng giới hạn an toàn"
Ví dụ thực tế — bỏ dở trên điều kiện chí mạng
Hai lối thoát rất khác nhau từ cùng vòng:
- Break — hoàn tất bình thường. Flow tiếp tục tới "Báo cáo tổng".
- Return — có gì đó sai. Không gì sau vòng nên chạy.
Dùng Break cho ca thứ hai sẽ cho báo cáo "thành công" lừa dối trên một lần chạy hỏng.
Ví dụ nâng cao — mệnh đề gác trong Sub Flow
Trong flow được gọi, Return là cách một phép gác nêu kết quả của con mà không luồn một đường xuống đáy đồ thị:
Mỗi phép gác return ngay với thông điệp riêng. Node Sub Flow của cha rẽ theo Success hay Failure, và thông điệp giải thích gác nào nổ.
Chú ý R3 return success — "đã đầy" là kết cục đúng, không phải thất bại.
Best practices
- Dùng Return cho "dừng mọi thứ", Break cho "dừng vòng này". Chọn sai cho báo cáo sai.
- Luôn viết thông điệp, y như với Stop.
- Ưu tiên Return cho mệnh đề gác, Stop cho đoạn kết tự nhiên của flow. Phân biệt thị giác giúp người đọc.
- Trong Sub Flow, chọn trạng thái có chủ đích — nó là giá trị trả về của con cho bên gọi.
- Đừng rải Return khắp nơi. Đồ thị mười lăm điểm thoát khó suy luận; gom gác gần đỉnh.
Ghi chú hiệu năng
- Return không tốn gì và tiêu một lần thực thi so với
maxNodeExecutions. - Return sớm là kết cục rẻ nhất — một phép gác return ngay bỏ qua cả phần còn lại flow.
Ghi chú bộ nhớ
- Kết thúc giải phóng ngữ cảnh thực thi, kể cả Runtime Memory scope
run. - Scope trên
runsống sót, theo thiết kế.
Lỗi thường gặp
| Lỗi | Hậu quả | Cách sửa |
|---|---|---|
| Return nơi định Break | Kết thúc cả lần chạy | Dùng Break |
| Break nơi định Return | Flow tiếp tục và báo thành công trên lần chạy hỏng | Dùng Return |
| Không thông điệp | Log không đọc nổi | Viết lý do |
failure cho no-op hợp lệ | Cha đi đường phục hồi thừa | Dùng success |
| Nhiều Return rải rác | Đồ thị khó theo | Gom gác gần đỉnh |
Khắc phục sự cố
Flow kết thúc sớm hơn kỳ vọng. Một Return đã được tới. Thông điệp cuối trong log định danh nó.
Vòng dừng mà lần chạy tiếp tục. Đó là Break, không phải Return.
Flow cha đi nhánh phục hồi bất ngờ.
Một Return trong con tuyên bố failure. Kiểm kết cục đó có thật sự là thất bại.
FAQ
Return khác Stop chỗ nào? Hành vi thì không — cả hai kết thúc với trạng thái tuyên bố. Return dành cho thoát sớm khỏi trong cấu trúc; Stop cho điểm cuối tự nhiên.
Return thoát chỉ Sub Flow, hay cả lần chạy? Nó kết thúc flow nó ở trong. Trong một con, điều đó kết thúc con và trả điều khiển v ề node Sub Flow của cha.
Nối được gì ra khỏi Return không? Không — nó là điểm cuối.
Tính vào maxNodeExecutions?
Có.
Node liên quan
- Stop — điểm cuối tự nhiên
- Break — chỉ rời vòng
- Continue — bỏ một lượt
- Sub Flow — tiêu thụ trạng thái trả về