【问题标题】:Node.js multiple callbacks [duplicate]Node.js多个回调[重复]
【发布时间】:2016-11-18 01:01:32
【问题描述】:

我正在尝试从 Steam 获取所有用户项目,因此我需要使用请求模块从 Steam 社区获取 json 文件。问题是我不知道如何将该 json 返回到 app.js 并通过路由。

var request = require('request');

var userItems = function(req, res){
    var userItems = request('http://steamcommunity.com/profiles/'+req+'/inventory/json/730/2', function (error, response, body) {
      if (!error && response.statusCode == 200) {

        var info = JSON.parse(body);
        return res(info);

      }
    });

}

module.exports.userItems = userItems;

接下来是想法:

app.get('/account/:id', ensureAuthenticated, ensureID, function(req, res){
  res.render('account', { 
    user: req.user,
    items: userItems(req.params.id, res)
  });
});

我是初学者,我会从头开始学习,但现在我只需要工作,因为我的时间很短。谢谢。

【问题讨论】:

    标签: javascript node.js express url-routing


    【解决方案1】:

    userItems 是一个异步操作,所有使用它的结果的代码都必须在回调中。试试这个:

    app.get('/account/:id', ensureAuthenticated, ensureID, function(req, res){
      userItems(req.params.id, function(info) {
        res.render('account', { 
          user: req.user,
          items: info
        });
      });
    });
    

    我认为下一步应该是错误处理。

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 1970-01-01
      • 2016-08-14
      • 2014-06-13
      • 2012-12-27
      • 2014-11-02
      • 2014-10-22
      • 2017-03-19
      • 2012-07-29
      相关资源
      最近更新 更多