Javascript 结构化Node.js路由和API调用

Javascript 结构化Node.js路由和API调用,javascript,node.js,express,Javascript,Node.js,Express,这可能是一个非常简单的问题,但我不确定最被接受的方法是什么 我有一个进行API调用然后返回结果的路由。问题在于路由并不等待API调用完成,而是立即发送响应 似乎我需要构造它,以便在回调中触发响应,但我不确定在这种情况下的最佳实践是什么 app.get('/', function(req, res){ var info = timesheet.getData(); // This function makes API call and

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

我有一个进行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

});
谢谢,你们太棒了。 约翰


(将我的代码编辑得更直截了当)timesheet.getData是否接受回调参数?如果它异步收集数据,我可以想象它会这样做。如果是,则只需将您的
res.send
放入其中,如下所示:

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

如果不是的话,我不知道;我将删除此响应。

我写了所有响应,因此它没有回调,但我读了一些关于回调函数的书,并在理解了回调函数的工作方式后写了一个。谢谢