aboutsummaryrefslogtreecommitdiff
path: root/vnext/src/api/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnext/src/api/index.js')
-rw-r--r--vnext/src/api/index.js19
1 files changed, 14 insertions, 5 deletions
diff --git a/vnext/src/api/index.js b/vnext/src/api/index.js
index f88695f2..aa0ddc6e 100644
--- a/vnext/src/api/index.js
+++ b/vnext/src/api/index.js
@@ -213,6 +213,8 @@ export function markReadTracker(msg, visitor) {
return `${apiBaseUrl}/api/thread/mark_read/${msg.mid}-${msg.rid || 0}.gif?hash=${visitor.hash}`;
}
+let profileCache = {};
+
/**
* Fetch user profile
*
@@ -220,10 +222,17 @@ export function markReadTracker(msg, visitor) {
*/
export function fetchUserUri(profileUrl) {
return new Promise((resolve, reject) => {
- client.get(profileUrl, {
- headers: {
- 'Accept': 'application/ld+json'
- }
- }).then(response => resolve(response)).catch(reject);
+ if (profileCache[profileUrl]) {
+ resolve(profileCache[profileUrl]);
+ } else {
+ client.get(profileUrl, {
+ headers: {
+ 'Accept': 'application/ld+json'
+ }
+ }).then(response => {
+ profileCache[profileUrl] = response.data;
+ resolve(response.data);
+ }).catch(reject);
+ }
});
}