Next.js Discord

Discord Forum

I keep running into an error: cacheTag() can only be called inside a "use cache" function

Unanswered
European hornet posted this in #help-forum
Open in Discord
European hornetOP
Here's my code:

export async function getCachedSession(userCacheToken: string, token: string) {
"use cache";
cacheTag(user-session:${userCacheToken});

logInfo("fetchedSessionFromDB");
const session = await fetchQuery(
api.queries.auth.index.getSessionUser,
{},
{ token },
);
return session;
}

I am clearly using "use cache" directive (and have set cacheComponents to true in next config file) but getting an error: cacheTag() can only be called inside a "use cache" function. What am I doing wrong?

2 Replies

So you get:
export async function getCachedSession(userCacheToken: string, token: string) {
    "use cache";
    cacheTag(`user-session:${userCacheToken}`);

     logInfo("fetchedSessionFromDB");
    const session = await fetchQuery(
        api.queries.auth.index.getSessionUser,
        {},
        { token },
    );
    return session;
}