Просмотр исходного кода

pull out process to update image cache without promise

yusuketk 5 лет назад
Родитель
Сommit
236034d047
2 измененных файлов с 26 добавлено и 20 удалено
  1. 21 16
      src/client/js/services/CommentContainer.js
  2. 5 4
      src/client/js/services/PageContainer.js

+ 21 - 16
src/client/js/services/CommentContainer.js

@@ -34,6 +34,7 @@ export default class CommentContainer extends Container {
     };
 
     this.retrieveComments = this.retrieveComments.bind(this);
+    this.checkAndUpdateImageOfCommentAuthers = this.checkAndUpdateImageOfCommentAuthers.bind(this);
   }
 
   /**
@@ -71,23 +72,27 @@ export default class CommentContainer extends Container {
       const comments = res.comments;
       this.setState({ comments });
 
-      const noImageCacheUserIds = comments.filter((comment) => {
-        return comment.creator.imageUrlCached == null;
-      }).map((comment) => {
-        return comment.creator._id;
-      });
+      this.checkAndUpdateImageOfCommentAuthers(comments);
+    }
+  }
+
+  checkAndUpdateImageOfCommentAuthers(comments) {
+    const noImageCacheUserIds = comments.filter((comment) => {
+      return comment.creator.imageUrlCached == null;
+    }).map((comment) => {
+      return comment.creator._id;
+    });
 
-      if (noImageCacheUserIds.length === 0) {
-        return;
-      }
-
-      try {
-        await this.appContainer.apiv3Put('/users/update.imageUrlCache', { userIds: noImageCacheUserIds });
-      }
-      catch (err) {
-        // Error alert doesn't apear, because user don't need to notice this error.
-        logger.error(err);
-      }
+    if (noImageCacheUserIds.length === 0) {
+      return;
+    }
+
+    try {
+      this.appContainer.apiv3Put('/users/update.imageUrlCache', { userIds: noImageCacheUserIds });
+    }
+    catch (err) {
+      // Error alert doesn't apear, because user don't need to notice this error.
+      logger.error(err);
     }
   }
 

+ 5 - 4
src/client/js/services/PageContainer.js

@@ -72,6 +72,7 @@ export default class PageContainer extends Container {
 
     this.setTocHtml = this.setTocHtml.bind(this);
     this.save = this.save.bind(this);
+    this.checkAndUpdateImageUrlCached = this.checkAndUpdateImageUrlCached.bind(this);
     this.addWebSocketEventHandlers = this.addWebSocketEventHandlers.bind(this);
     this.addWebSocketEventHandlers();
 
@@ -138,7 +139,7 @@ export default class PageContainer extends Container {
       const { users } = await this.appContainer.apiGet('/users.list', { user_ids: userIdsStr });
       this.setState({ seenUsers: users });
 
-      await this.updateImageUrlCached(users);
+      this.checkAndUpdateImageUrlCached(users);
     }
 
 
@@ -152,11 +153,11 @@ export default class PageContainer extends Container {
       const { users } = await this.appContainer.apiGet('/users.list', { user_ids: userIdsStr });
       this.setState({ likerUsers: users });
 
-      await this.updateImageUrlCached(users);
+      this.checkAndUpdateImageUrlCached(users);
     }
   }
 
-  async updateImageUrlCached(users) {
+  checkAndUpdateImageUrlCached(users) {
     const noImageCacheUsers = users.filter((user) => { return user.imageUrlCached == null });
     if (noImageCacheUsers.length === 0) {
       return;
@@ -164,7 +165,7 @@ export default class PageContainer extends Container {
 
     const noImageCacheUserIds = noImageCacheUsers.map((user) => { return user.id });
     try {
-      await this.appContainer.apiv3Put('/users/update.imageUrlCache', { userIds: noImageCacheUserIds });
+      this.appContainer.apiv3Put('/users/update.imageUrlCache', { userIds: noImageCacheUserIds });
     }
     catch (err) {
       // Error alert doesn't apear, because user don't need to notice this error.