From 64d6b8761d512ca608e1d1aedc14bebd3581283f Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sat, 10 Sep 2016 22:35:31 -0700 Subject: [PATCH] WIP --- ext/bg/js/translator.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 6c028c5c..9987f820 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -56,27 +56,24 @@ class Translator { findTermGroups(text) { const groups = {}; - const promises = []; + const deinflectPromises = []; for (let i = text.length; i > 0; --i) { - promises.push( + deinflectPromises.push( this.deinflector.deinflect(text.slice(0, i), term => { - return this.dictionary.findTerm(term).then(definitions => definitions.map(def => def.tags)); + return this.dictionary.findTerm(term).then(definitions => definitions.map(definition => definition.tags)); }).then(inflects => { + const processPromises = []; for (const inflect of inflects) { - this.processTerm( - groups, - inflect.source, - inflect.tags, - inflect.rules, - inflect.root - ); + processPromises.push(this.processTerm(groups, inflect.source, inflect.tags, inflect.rules, inflect.root)); } + + return Promise.all(processPromises); }) ); } - return Promise.all(promises).then(Promise.resolve(groups)); + return Promise.all(deinflectPromises).then(Promise.resolve(groups)); } findTerm(text) {