在TTL超时后,Typeahead Bloodhoud不会清除缓存

时间:2016-05-03 18:58:04

标签: javascript caching typeahead.js ttl bloodhound

我为Typeahead的引擎Bloodhound设置了以下设置。虽然我将TTL设置为15秒,但不会发生刷新。我等待的时间远远超过那个并且进行新的搜索,但是服务器上的提示方法没有被执行。

var users = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.whitespace,
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  prefetch: {
    url: "/Worker/HintUser",
    cache: true,
    ttl: 15000
  },
  remote: {
    wildcard: '',
    rateLimitWait: 500,
    url: "/Worker/HintUser",
    transform: function (response) {
      return $.map(response.results, function (element) {
        return { value: element }
      });
    }
  }
});

$("#remoteFetch").typeahead(
{ hint: true, highlight: true, minLength: 1 },
{ name: 'users', source: users });

缓存存在已知问题吗?当我将缓存设置为false时,我按预期工作。但随后它会调用每次搜索都会打败 local 开头。

我可以做些什么来让Bloodhound在几秒钟内缓存这些值,然后将其释放到遗忘中,获取新的,新鲜的值?

0 个答案:

没有答案