Promise doesn’t execute asynchronously

I have been testing promises on node.js in the following program:

const areallylongprocesspromise = new Promise((resolve, reject) => {
    let buff = 0;
    for (let i = 0; i < 1000000000; i++)
    {
        if ((i % 73829) === 0) buff++;
    }
    if (buff > 10) resolve(buff);
    else reject(buff);
});




areallylongprocesspromise.then((resolved) => 
{
    console.log("Resolved: ", resolved);
})
.catch((rejected) => {
    console.log("Rejected: ", rejected);
});

console.log("Waiting for execution to finish up");

The expected output is:

Waiting for execution to finish up
Resolved:  13545

However, the first statement, “waiting… up” doesn’t get logged until the promise finishes execution, at which point both the statements get logged simultaneously.
I’m new to the concept of promises, so I don’t know what is going on here. Why is the promise holding up the execution of the rest of the code? Any help would be appreciated.