2016-11-18 20 views
0

私はsteamからすべてのユーザーアイテムを取得しようとしています。したがって、私はsteamcommunityからjsonファイルを取得するためにリクエストモジュールを使用する必要があります。問題は、そのjsonをapp.jsに戻してルートをパスする方法がわからないことです。Node.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) 
    }); 
}); 

私はbegginerだ、と私は最初から学びますが、今の私はちょうど私が時間と短いですので作業する必要があります。ありがとうございました。

答えて

-2

userItemsは非同期操作であり、結果を使用するすべてのコードはコールバック内になければなりません。これを試してください:

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

私は次のステップはエラー処理する必要があります。

関連する問題