Parallel execution in node.js - Step package

I get confused when look at code supposed to be return in random order.

However, this parallel code will be executed in an ordered way ?

How come will this be?

Here is the snippet comes from Step library.

require('./helper');

var selfText = fs.readFileSync(__filename, 'utf8'),
    etcText = fs.readFileSync('PureString', 'utf8');//encoding option is specified then his function returns a string

expect('one');
expect('two');
Step(
  // Loads two files in parallel
  function loadStuff() {
      fulfill('one');
      fs.readFile(__filename, 'utf-8', this.parallel());
      fs.readFile("PureString", 'utf-8', this.parallel());
  },
  // Show the result when done
  function showStuff(err, code, users) {
    fulfill('two');
    if (err) throw err;
    assert.equal(selfText, code, "Code should come first");
    assert.equal(etcText, users, "Users should come second");
  }
);

It's not that the function calls are returning in any particular order, rather the data being supplied to the callback function is being called in a particular order.

This test verifies that the second argument to showStuff will be the results of the first fs.readFile call, and then second argument to showStuff will be the results of the second fs.readFile call.

Both of those calls are returning in any order they please -- showStuff isn't being called until BOTH of them have returned. The test is verifying that the first call to this.parallel() provides the second argument, and the second call provides the third argument.