Javascript 结构化Node.js路由和API调用
这可能是一个非常简单的问题,但我不确定最被接受的方法是什么 我有一个进行API调用然后返回结果的路由。问题在于路由并不等待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
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);
}
});
如果不是的话,我不知道;我将删除此响应。我写了所有响应,因此它没有回调,但我读了一些关于回调函数的书,并在理解了回调函数的工作方式后写了一个。谢谢