Making two sequential asynchronous requests using promises
You should be able to convert that code to using async / await from ES2017. Notice that I changed the function names to suit general JavaScript naming standards (camelCase for functions and variables, etc.)

async function getFullNote(noteId) {
    const note = await db.collection('notes').doc(note_id).get();
    const author = await getAuthorData(note.author_uid);
    return {
        id: note_id,
        title: data.title,
        ext: data.text,
        author: author
    }
}


This is how MDN defines an async function:

An asynchronous function is a function which operates asynchronously via the event loop, using an implicit Promise to return its result. But the syntax and structure of your code using async functions is much more like using standard synchronous functions.


Link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function