Async await - returning values

This is a task that I found and I can’t get my haed around it. The task says
“There is an incomplete function “parallel (funcArray, doneAll)”.
We need to finish it. Something like the analogue of promise.all. And do not forget that the resulting array must preserve the order in which the functions were passed.” The problem is that nothing appears in console.log.
I’m new to JavaScript and would be glad if this could be explained.

function parallel(funcArray, doneAll) {
    async function doneAll(){
      let results = await funcArray[a, b];
      return results;
    }
    
    }
    return doneAll();
    parallel();

var a = function(done) {
  setTimeout(function() {
    done('result a');
  }, 300);
};

var b = function(done) {
  setTimeout(function() {
    done('result b');
  }, 200);
};

parallel([a,b], function(results) {
  console.log(results); // ['result a', 'result b']
});

The problem is that the return doneAll(); and parallel() is outside the function.

I actually might be doing something wrong, but it doesn’t seem to help. Would you mind pointing out the exact way it worked? Appreciate your help.

Can we have a link to the lesson

It is not a lesson. It is from a website: Задачи по Javascript используемые на интервью.
The website is in Russian though. And these are Javascript problems used in interviews

Any help with this would be appreciated. I managed to solve other problems from that website except this one. As far as I understand async function just doesn’t receive values nor does it give a result.