simple question i think i cannot understand how async await fully work how could i optimize the following code so every task is completed when we get result from await right