使用Billboard API修复Node中的异步问题?

时间:2018-07-05 01:29:23

标签: javascript node.js asynchronous

我是Node noob,尝试编写此脚本以查询Billboard Hot 100 API十年中的前10首歌曲,并提取每年的前十首歌曲。

我想console.log循环的结果-但是console.log语句在循环完成之前是异步执行的...

一个人该如何重写它,以使console.log在循环完成后发生?

是的,异步让我感到困惑。

var billboard = require("billboard-top-100").getChart;
var lyricsText = "List of songs: \n\n";

function getTheSongs() {
  for (let q = 1958; q < 1968; q++) {
    let c = q.toString() + '-07-01';
    billboard('hot-100', c, function(songs) {
      for (let u = 0; u < 10; u++) {
        lyricsText += songs[u].title + ", " + songs[u].artist + "\n";
      }
    }
  )};
  console.log(lyricsText);
}

getTheSongs();

0 个答案:

没有答案