ExpressJS API router.get外部函数

时间:2014-10-16 13:28:13

标签: node.js express

我试图将两个单独的例子合并在一起,我让它们分开工作,但我无法解决如何将它们组合在一起的问题。我现在浪费了多个小时才能获得如此基本的工作。

我有ExpressJS运行API。测试消息有效。

// test route to make sure everything is working (accessed at GET http://localhost:8080/api)
router.get('/', function(req, res) {
    res.json({ message: 'This is a test message' });    
});

我想显示下面的输出,而不是消息:这是一条测试消息

serverClient.call('version', {}, function (err, res) {
    console.log('Server Version: %j', res.version);
});

有人能指出我正确的方向,明确如何选择或向我展示代码吗?

2 个答案:

答案 0 :(得分:1)

只需将该代码移动到路由处理程序中即可。例如:

router.get('/', function(req, res) {
  serverClient.call('version', {}, function (err, result) {
    if (err)
      return res.json({ error: err });
    res.json({ version: result.version });
  });
});

答案 1 :(得分:0)

确保您的res变量具有不同的名称,否则它们将发生碰撞

// test route to make sure everything is working (accessed at GET http://localhost:8080/api)
router.get('/', function(req, res1) {
    res1.json({ message: 'This is a test message' });    
    serverClient.call('version', {}, function (err, res2) {
        console.log('Server Version: %j', res2.version);
    });
});