Browse Source

Commit 11-5-2: manual reactivity with depend() and changed().

Frederic G. MARAND 9 years ago
parent
commit
4ba6c5377e
1 changed files with 9 additions and 2 deletions
  1. 9 2
      facebook.js

+ 9 - 2
facebook.js

@@ -1,15 +1,22 @@
 // Fonction hypothétique...
 function getFacebookLikeCount() {}
 
-currentLikeCount = 0;
+var _currentLikeCount = 0;
+var _currentLikeCountListeners = new Tracker.Dependency();
+
+currentLikeCount = function () {
+  _currentLikeCountListeners.depend();
+  return _currentLikeCount;
+};
 
 Meteor.setInterval(function () {
   var postId;
 
   if (Meteor.user() && postId === Session.get('currentPostId')) {
     getFacebookLikeCount(Meteor.user(), Posts.find(postId).url, function (err, count) {
-      if (!err) {
+      if (!err && count !== _currentLikeCount) {
         currentLikeCount = count;
+        _currentLikeCountListeners.changed();
       }
     });
   }