diff --git a/services/spelling/app/coffee/ASpell.coffee b/services/spelling/app/coffee/ASpell.coffee index f74ba75e0c..e61d7f4826 100644 --- a/services/spelling/app/coffee/ASpell.coffee +++ b/services/spelling/app/coffee/ASpell.coffee @@ -13,8 +13,12 @@ class ASpellRunner suggestions = @getSuggestions(output) results = [] for word, i in words - if suggestions[word]? - cache.set(language + ':' + word, suggestions[word]) + key = language + ':' + word + cached = cache.get(key) + if cached? + results.push index: i, suggestions: cached + else if suggestions[word]? + cache.set(key, suggestions[word]) results.push index: i, suggestions: suggestions[word] callback null, results @@ -51,13 +55,13 @@ class ASpellRunner newWord = {} for word in words - newWord[word] = true if !newWord[word] && !cache.get(language + ':' + word)? + newWord[word] = true if !newWord[word] && !cache.has(language + ':' + word) words = Object.keys(newWord) if words.length WorkerPool.check(language, words, ASpell.ASPELL_TIMEOUT, callback) else - callback null, [] + callback null, "" module.exports = ASpell = # The description of how to call aspell from another program can be found here: @@ -69,4 +73,3 @@ module.exports = ASpell = ASPELL_TIMEOUT : 4000 WorkerPool = new ASpellWorkerPool() -