Synchronous functions and a break block in a loop

uArm Serial No.: UP130018040415
Firmware Version: 3.2.0
Operation System: Win 10
uArm Controlling Method: uArm Studio 1.1.22

  1. Functions run asynchronously in Blockly. Assuming defining following functions:

function1:
1-1 move to x1, y1, z1
1-2 move down
1-3 suction cup on
1-4 move up

function2:
2-1 move to x2, y2, z2
2-2 move down
2-3 suction cup off
2-4 move up

The most left numbers are line-numbers for reference.
Since functions run asynchronously, the result with the following blocks:

call function1
call function2

will be “move to x1, y1, z1”, “move to x2, y2, z2”, “move down”, “move down”… That breaks the logic.
Could I create functions that run sequentially (synchronously), so each blocks in functions processed after all the blocks are run in the first function?

  1. How to use the “break” block?
    Following pseudo-code exits a loop when a condition is met:

    while (true) {
    do_something1();
    if (condition) { break; }
    do_something2();
    }

I assumed equivalent blocks in Blockly would be “forever” loop, “if-do” block, and “break” block. However, when I put the “break” block inside of the “if-do” block contained by the “forever” loop, a warning (“break block only use in loop”) will be raised. How do I use the “break” block?

Can you send the blockly program to us,thank you.