我为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在几秒钟内缓存这些值,然后将其释放到遗忘中,获取新的,新鲜的值?