I have two operations step\_1() and step\_2() and want to execute step\_2() AFTER step\_1().

With normal java this would be:

```
step_1();
step_2();

```

With vertx I have to use vertx-compose(). Am I right?

According to <https://groups.google.com/forum/#!topic/vertx/FuvlPLpoGOA>, I dont need Futures for sequential code. 

> 
> "If you want to do each request sequencially you dont need futures."
> 
> 
> 

So how can I do that without using futures?

I dont know, if this matters: My Vertx from which this code is executed is a "Worker"-Verticle.

```
@Override
public void start(Future<Void> fut) throws IOException {

Future<Void> step_1 = Future.future();
    step_1.compose(res -> {
        // If the future succeeded
        Future<Void> step_2 = step_1();

        step_2.compose(res2 -> {
            step_2();

        }, Future.future().setHandler(handler -> {
            // If the future failed
        }));

        //I dont need that
    }, Future.future().setHandler(handler -> {
        // If the future failed
    }));

}

public void step_1(){
..
}

public void step_2(){
..
}

```

Is this the right and shortest (!) way?