我真的很喜欢使用node.js
进行编程,尤其是express.js.
今天我遇到了典型的异步问题。我读了很多关于这些问题和可能的解决方案,但是express.js的最佳实践是什么?
我尝试转移回调方法,但它不起作用。我不得不承认,我是这个领域的一个新手,我很欣赏社区的解决方案:)。
我认为以下代码中的问题是,函数调用getUserDataFromSpotify(cookieAccessToken)
为async
,而下一行无法快速获取inputData
变量的ID因为函数返回一个值。
app.get('/landingpage', function(req, res){
var cookieAccessToken = req.cookies.access_token;
var inputData = getUserDataFromSpotify(cookieAccessToken);
res.render('UserProfile', {display_name: inputData.id});
});
function getUserDataFromSpotify(userToken){
var options = {
url: 'https://api.spotify.com/v1/me',
headers: { 'Authorization': 'Bearer ' + userToken },
json: true
};
request.get(options, function(error, response, body) {
console.log(response.statusCode);
console.log(body);
return body;
});
}