If I want it to reject an error like ('This is an error'), how do I go about doing that with the new async feature? All we do is throw a new error using standard JavaScript techniques. Throw a new error with a message, ('This is an error'):
const getStatusAlt = async (userId) => {
throw new Error('This is an error');
return 'Mike';
};
This is equivalent to using the reject argument in the new Promise. When you throw a new error from an async function, it is exactly the same as rejecting some value. So, in this case, we can go ahead and use that error by adding a catch, like we would if it was a regular old promise. We're going to get the error back, and I'll use console.log to print it to the screen, if it occurs:
getStatusAlt().then((name) => {
console.log(name);
}).catch(e) => {
console.log(e);
});
It's always going to occur, because I throw it on line 1. If I save the file, nodemon restarts and we get Error: This is an error printing to the screen:

So, those are the first two important things you need to know about async functions before we go any further and use await. Returning something is equivalent to resolving, and throwing an error is equivalent to rejecting; we always get a promise back.