Ivan
а как сделать, чтобы выполнение функции затормаживалось на этапе onload, а после выполнения делался return?
Почитай про асинхронное программирование, эвент-луп, функции могут выполняться в разное время и в разном порядке, есть несколько подходов как с этим разобраться, коллбеки, промисы, async/await, на пальцах муторно объяснять.