Efficiently load chat log

98 views Asked by At
/user/:userId
user = {
    user_id
    username
    name
    email
    pfpsrc
};
/chatlog
{
   responce: [
      {
         message_id
         message
         message_date
         user_id
      },
      {
         message_id
         message
         message_date
         user_id
      }
   ]
}

When appending messages from /chatlog to the DOM, how can I grab user data from /user for every message in chatlog efficiently?

My current code fetches /user/:userId for every message in chatlog which is inefficient and slow af

1

There are 1 answers

2
AdvMaple On BEST ANSWER

If you want to make this for more efficency, your Back-end should return the needed user data on /chatlog response.

The changes api will return

{
   response: [
      {
         message_id
         message
         message_date
         user: {
            user_id
            username
            name
            email
            pfpsrc
        },
      {
         message_id
         message
         message_date
         user: {
            user_id
            username
            name
            email
            pfpsrc
          }
        ]
}

With that you can use user that returned.