异步并行节点js问题

时间:2016-04-13 06:55:26

标签: node.js express asynchronous

我正在尝试使用节点js中的异步模块并行运行两个任务。 当我运行代码时,我收到此错误:

字符串不是函数

TypeError: string is not a function
    at /Users/Username/expressStarter/node_modules/async/lib/async.js:718:13
    at async.forEachOf.async.eachOf

我的代码:

router.get('/', function(req, res, next) {
  async.parallel([getIOSData(),
    getAndroidData()], function(){
    console.log('done');
  })
   res.render('index',{title: "Reviews"});
});

1 个答案:

答案 0 :(得分:1)

这应该有效:

async.parallel([getIOSData,
    getAndroidData], function(){
    console.log('done');
})

编辑:您必须在回调函数中呈现页面,而不是在外部(异步):

router.get('/', function(req, res, next) {
  async.parallel([getIOSData(),
    getAndroidData()], function(){
    console.log('done');
    res.render('index',{title: "Reviews"});
  })
});