Chuyển tới nội dung chính

Break (Thoát vòng)

Rời vòng lặp bao quanh sớm.

Mục đích

Dừng vòng lặp hiện tại ngay và tiếp tục flow từ sau Loop End của vòng. Mọi thứ còn lại trong thân bị bỏ qua, và không lượt nào chạy thêm.

Khi nào dùng

  • Đã tìm thấy thứ cần tìm và phần còn lại của vòng vô nghĩa.
  • Hết thứ để xử lý — danh sách rỗng, không còn mục trên màn.
  • Một điều kiện gác nghĩa là vòng nên dừng sớm.

Khi nào không dùng

  • Kết thúc cả flow — dùng Return hay Stop.
  • Chỉ bỏ lượt này — dùng Continue.
  • Ngoài vòng lặp — Break chỉ có nghĩa trong vùng lặp.

Điều kiện

Break phải nằm trong một vùng lặp. Nó thuộc vòng bao trong cùng, phân giải lúc biên dịch.

Cách nó chạy

Break không mang edge ra do người nối. Trình biên dịch nối lại nó về node sau Loop End của vòng bao.

Bạn không vẽ edge ra khỏi Break. Định tuyến được sinh.

Thiết lập

Thiết lậpKiểuKhoảngGhi chú
Labelstring≤ 120 ký tựNhãn hiển thị tùy chọn; không hiệu ứng runtime

Break không có thiết lập chức năng — hành vi của nó hoàn toàn theo vị trí.

Port

PortGhi chú
SuccessCó trên node, nhưng không do người nối — trình biên dịch sở hữu
FatalLỗi cấu hình. Không bao giờ được đi

Break không có port bắt buộc. Nối edge vào nó; đừng nối ra.

Ví dụ cơ bản

Dừng vòng quét khi không thấy gì:

  • Find Image → Failure → Break

Ví dụ thực tế — tìm kiếm có giới hạn

Vòng có hai lối ra — trần lượt và Break — và flow quyết chuyện gì đã xảy ra sau đó từ một bộ đếm.

Ví dụ nâng cao — vùng retry với thoát sớm

Break biến vòng đếm thành retry có giới hạn:

Không Break, lần thử đầu thành công vẫn đốt nốt hai lượt còn lại.

Best practices

  • Đặt cờ trước khi break khi code sau vòng cần biết vì sao nó kết thúc.
  • Dùng ô Label nói lý do — "hết hàng", "đã tới đích".
  • Ưu tiên Break hơn để vòng quay tới trần khi việc đã xong.
  • Đặt Break đúng vòng. Vòng lồng nhau thì nó áp cho vòng trong cùng.
  • Đừng nối edge ra khỏi Break.

Ghi chú hiệu năng

  • Break tự nó miễn phí.
  • Giá trị hiệu năng là thật: thoát vòng 5 lượt sau lượt đầu tiết kiệm bốn lượt thân, với thân nặng phát hiện là hàng giây.

Ghi chú bộ nhớ

  • Không cấp phát. Kết thúc vòng sớm giảm số kết quả node tích trong ngữ cảnh.

Lỗi thường gặp

LỗiHậu quảCách sửa
Dùng Break kết thúc flowChỉ rời vòngReturn
Dùng Break bỏ một lượtKết thúc cả vòngContinue
Nối edge ra khỏi BreakKhông phải cách nó chạyChỉ nối vào
Break nhầm vòng lồngChỉ rời vòng trongKiểm vùng
Không cờ trước BreakPhía sau không biết vì sao vòng dừngĐặt cờ trước

Khắc phục sự cố

Break không rời vòng tôi mong. Nó áp cho vòng bao trong cùng. Dời nó, hoặc cấu trúc lại lồng ghép.

Flow kết thúc thay vì tiếp tục sau vòng. Kiểm thứ nối sau Loop End — Break đi tới đó, không gì nối thì lần chạy kết thúc.

Break như bị bỏ qua. Nó có lẽ không nằm trên nhánh được thực thi. Xác nhận nhánh dẫn tới nó thật sự chạy.

FAQ

Break có thiết lập không? Chỉ nhãn tùy chọn.

Dùng Break ngoài vòng được không? Không — chỉ có nghĩa trong vùng lặp.

Break kết thúc flow không? Không. Dùng Return hay Stop.

Làm sao biết vòng đã break sớm? Đặt biến trước Break, hoặc dùng tổng hợp iterationCount của Loop End.

Node liên quan

  • Loop — vùng Break thoát khỏi
  • Continue — bỏ một lượt thay vì thoát
  • Return — kết thúc cả flow
  • Variable — ghi vì sao vòng kết thúc

Trang liên quan