【发布时间】:2020-03-24 19:56:45
【问题描述】:
我正在使用 Wordnet 创建字典条目并将它们放入我的数据库中。这是一个辅助函数,它接收一个单词并返回一个对象,然后将其插入数据库。
var fs = require('fs'); // req for natural and wordnet-db
const natural = require('natural');
const wordnet = new natural.WordNet();
const generateWordEntry = word => {
let wordObj = {};
wordObj.definition = "";
wordnet.lookup(word, function(entries) {
entries.forEach((entry)=>{
wordObj.word = word;
wordObj.definition += entry.gloss.replace(/"/g, "'" ).trim() + '***' ;
});
});
return wordObj;
}
上面的函数是异步的(我认为)。我想使用这个辅助函数来生成一个 wordObj 对象,然后将条目添加到我的数据库中:
function insertWordsToDeck(words) {
let words2List = words.split('\n').map(word=>word.trim());
let generateEntries = words2List.map(word=>generateWordEntry(word));
return db('words')
.insert(generateEntries, 'id')
}
我知道数据库调用是异步的,但是如何合并其他函数?
【问题讨论】:
标签: javascript asynchronous wordnet