2016-11-18 69 views
0

我想從蒸汽獲取所有用戶項目,所以我需要使用請求模塊從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) 
    }); 
}); 

我是初學者,我會從開始學習,但現在我只需要工作,因爲我是用很短的時間。謝謝。

回答

-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 
    }); 
    }); 
}); 

我認爲下一步應該是錯誤處理。