Express.js:API调用时的异步问题

时间:2018-05-21 08:27:49

标签: javascript node.js api express asynchronous

我真的很喜欢使用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;
});
}

0 个答案:

没有答案