构建Node.js路由和API调用

时间:2011-12-27 22:16:40

标签: javascript node.js express

这可能是一个非常简单的问题,但我不确定最常用的方法是什么。

我有一个进行API调用的路由,然后返回结果。问题是路由不等待API调用完成,而只是立即发送响应。

似乎我需要构造它以便在回调中触发响应,但我不确定在这种情况下最佳做法是什么。

app.get('/', function(req, res){
   var info = timesheet.getData();    // This function makes API call and
                                      // waits for response, then returns
                                      // data in callback function

   res.send(info);                    // info is undefined since this fires
                                      // before the API response is finished

});

谢谢,你们真棒。 约翰

(编辑我的代码以更直接地回答问题)

1 个答案:

答案 0 :(得分:1)

timesheet.getData是否接受回调参数?我想如果它是异步收集数据的话。如果确实如此,那就把你的res.send放在那里:

app.get('/', function(req, res) {
    timesheet.getData(function(info) {
        res.send(info);
    }
});

如果没有,那么,我不知道;我将删除此回复。