我正在并行使用npm软件包async
。我有来自两个不同数据库的两个请求(一个API和一个来自mLAB MongoDB数据库的请求),分别是company
和news
。
无法正常工作的是news
。尽管数据已正确传递并显示在我的.pug
文件中,但我收到以下错误消息:
(node:21526) UnhandledPromiseRejectionWarning: Unhandled promise
rejection (rejection id: 2): Error: Callback was already called.
我使用的代码是:
async.parallel({
company: function(callback) {
Company.findById(req.params.id)
.exec(callback);
},
news: function(callback) {
er.getConceptUri("Uschi").then((conceptUri) => {
var q = new erBase.QueryArticlesIter(er, {conceptUri: conceptUri, sortBy: "date"});
q.execQuery((item) => {
//console.info(item);
callback(null, item);
});
});
}
}, function(err, results) {
res.render('company_detail', { title: results.company.name, error: err, company: results.company, news: results.news });
});
下面的代码行callback(null, item);
似乎是错误的。如何解决此问题,使错误消息消失?谢谢你。
链接到EventRegistry API(用于news
):EventRegistry API