JavaScript, async and await keywords

Magus
499 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

await can only be used in an async function

You can't use await outside of an async function. The code will just crash if you try. When you are coding in a NodeJS environment, that means that you can't use await in the body directly. You have to use a function like this:

Use a main function
1
2
3
4
5
6
7
8
9
10
async function job() {
return 'test';
}
async function main() {
console.log(await job());
}
// Don't forget to call your main
main();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Unhandled error

In NodeJS 8+, an unhandled error will trigger a warning. But the warning says that in later versions, it will be changed to a crash. You can see this warning with the following code:

Unhandled error
1
2
3
4
5
async function job() {
throw new Error('error');
}
job(); // The promise returned by the job function is in error but no one handle it
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content