首页 > 解决方案 > 无法从 Node.js 中的异步函数返回值,但控制台会打印值

问题描述

我是 node.js 的新手,我阅读了一些关于这个问题的帖子,但仍然不明白如何在我的情况下解决它。打印出正确的结果,但我希望将其返回或存储在变量中。这可能吗?

    const values = async () =>
{
  const URL = 'http://www.espn.com/sports/tennis/rankings';
  const response = await request(URL);
  const $ = cheerio.load(response);
  let title = $ ('#my-players-table > div.mod-container.mod-table > div.mod-content > table > tbody').text();
  var rank = 1;
  var count = title.length;
  var words = title;
  var player = "";
  var players = [];
  for ( var i = 70; i < count; i++)
  {
    if(!characterNumber(words[i]) && words[i] != "\n")
    {
      player += words[i];
    }
    else
    {
      if(player != "" && player != '\n')
      {
        players.push(player);
        player = "";
      }
    }
  }
return players;
};
let playersRankings;
const getRankings = async () => {
 playersRankings = await values();
 console.log(playersRankings);
}
getRankings();

标签: node.jscallbackasync.jsrequest-promise

解决方案


推荐阅读