Closed manchuwook closed 10 years ago
Not sure what you mean. Adding a code snippet might help.
wordnet.list(function (err, list) {
var filtered = Enumerable.from(list).where(function (word) {
return word.length > 1 && cmudict.get(word) != null;
}).toArray();
console.log('Getting [' + filtered.length + '] words');
for (i = filtered.length - 1; i >= 0; i--) {
wordpos.lookup(filtered[i], console.log);
filtered.splice(i, 1);
}
});
First confirm those files are there and you had no installation issues.
Second run the CLI making sure it is working. From your wordpos dir:
$ bin/wordpos-cli.js def apple pear
apple
n: native Eurasian tree widely cultivated in many varieties for its firm round
ed edible fruits
n: fruit with red or yellow or green skin and sweet to tart crisp whitish fles
h
pear
n: Old World tree having sweet gritty-textured juicy fruit; widely cultivated
in many varieties
n: sweet juicy gritty-textured fruit available in many varieties
I don't see anything wrong with the code. It should work as you have it, unless you're running into issues if filtered.length is very large.
About waiting before doing the next lookup, basically you want to do the next lookup in the callback function or use a promises library like https://github.com/kriskowal/q, for example.
Filtered length ls 34,566; very large.
Basically you're asking your system to open and search 4 multi-megabyte files 34,566 times simultaneously! Needless to say neither this library nor your computer (unless it's an IBM Watson) was meant for that.
That's why I was asking for a suggestion and not actually wanting to submit it as a bug. I don't want to open them all at once and then check. I just want to open, check, close and move on to the next word. I don't care if it doesn't happen simultaneously.
Fair enough -- my earlier comment about doing next lookup in the callback or using promises holds.
Any suggestions on how to wait before doing the next word in the array?