已经使用异步并行调用了回调,为什么?

时间:2018-11-16 09:45:16

标签: node.js database mongodb asynchronous npm

我正在并行使用npm软件包async。我有来自两个不同数据库的两个请求(一个API和一个来自mLAB MongoDB数据库的请求),分别是companynews

无法正常工作的是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

0 个答案:

没有答案