Пример #1
0
  sync() {
    var idsInUse = this.props.groups;
    var idsInCache = [...this.props.cache.keys()];

    var outdated = difference(idsInCache, idsInUse);
    var missing = difference(idsInUse, idsInCache);

    console.log(`[GroupSync] ${missing.length} missing, ${outdated.length} outdated`);

    if (missing.length > 0) {
      var effect = vk.groups.getById({
        group_ids: missing.slice(0, 100).join(',')
      }, (err, res) => {
        if (err) {
          return console.log(err);
        }

        var cache = res.response.reduce((c, g) => c.set(String(g.id), g), this.props.cache);

        this.props.onSync(cache);
      });

      this.perform(effect);
    }
  }
Пример #2
0
    var sync = () => {
      var effect = vk.groups.get({}, (err, res) => {
        if (err) {
          return console.log(err);
        }

        onSync(res.response.items.map(String));
      });

      this.perform(effect);

      timer = setTimeout(sync, interval * 1000);
    }