【问题标题】:Structuring Node.js routing and API calls构建 Node.js 路由和 API 调用
【发布时间】:2011-12-27 22:16:39
【问题描述】:

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

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

});

谢谢,你们太棒了。 约翰

(编辑我的代码以更直接地解决问题)

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    timesheet.getData 是否接受回调参数?如果它异步收集数据,我会想象它会这样做。如果是,那么可以,只需将您的 res.send 放在那里:

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

    如果不是那么,好吧,我不知道;我将删除此回复。

    【讨论】:

    • 我写了所有的东西,所以它没有回调,但我读了一些关于回调函数的书,并在我理解了它们应该工作的方式后写了一篇。谢谢!
    猜你喜欢
    • 2020-07-17
    • 2013-01-30
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    相关资源
    最近更新 更多