In the code/example below, how can I access the likecount variable that's defined inside the db.collection()...then() method? I feel like I've tried every solution on the internet, but I've always gotten undefined as the result.
Code:
var parsed = path.split("/");
var likecount; 
db.collection(parsed[0]).doc(parsed[1]).collection(parsed[2]).doc(parsed[3]).collection("likes").get().then(function(querySnapshot) {
  likecount = querySnapshot.size
  console.log(likecount)
})
The whole code (included where I try to access likecount):
firebase.auth().onAuthStateChanged(function(user) {
    var query = db.collectionGroup("userPosts")
    query.get().then(querySnapshot => {
        setupPosts(querySnapshot.docs)
    })
    const posts = document.querySelector('.posts');
    const setupPosts = (data) => {
        let html = '';
        data.forEach(doc => {
            const post = doc.data();
            const picURL = post.picURL;
            var path = doc.ref.path;
            var parsed = path.split("/");
                var likecount; 
                db.collection(parsed[0]).doc(parsed[1]).collection(parsed[2]).doc(parsed[3]).collection("likes").get().then(function(querySnapshot) {
                    likecount = querySnapshot.size
                    console.log(likecount)
                })
            let li = `<li class="post">
                <h3 class="content">${post.content}</h3>
                <button class="comment" onclick="comment('${path}')">Comment</button>
                <button class="like" onclick="like('${path}')">Like</button>
                <span class="like-count">${likecount}</span>`;
            
            li += (post.picURL ? `<img class="img" src="${picURL}" onclick="openImage('${picURL}')">` : ``);
            li += `</li><br></br>`;
            html += li
        })
        
        posts.innerHTML = html;
    }
