Below code is giving me the error SyntaxError: await is only valid in async functions and the top level bodies of modules. I don't know what I am missing here.
function timeout(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function test(num) {
    return new Promise((resolve, reject) => {
        await timeout(1000);
        if (num == 11) {
            reject("error");
        }
        else {
            resolve("completed");
        }
    });
}
test(11).then((val) => { console.log(val) }).catch((err) => { console.log(err) });
 
    