我使用https://github.com/Haidy777/node-youtubeAPI-simplifier從Bounty Killers的播放列表中獲取一些信息。順便說一下,這個庫設置似乎使用藍鳥的Promise(https://github.com/petkaantonov/bluebird),我不太瞭解。仰望初學者指南藍鳥給http://bluebirdjs.com/docs/beginners-guide.html字面上只是顯示將數據推送到承諾之外的數組
這篇文章是部分或完全未完成。歡迎您創建拉取請求來幫助完成這篇文章。
我能夠建立圖書館
var ytapi = require('node-youtubeapi-simplifier');
ytapi.setup('My Server Key');
除了列表關於賞金殺手的一些信息
ytdata = [];
ytapi.playlistFunctions.getVideosForPlaylist('PLCCB0BFBF2BB4AB1D')
.then(function (data) {
for (var i = 0, len = data.length; i < len; i++) {
ytapi.videoFunctions.getDetailsForVideoIds([data[i].videoId])
.then(function (video) {
console.log(video);
// ytdata.push(video); <- Push a Bounty Killer Video
});
}
});
// console.log(ytdata); This gives []
基本上上面拉完整的播放列表(通常會有一些這裏的分頁取決於長度),則需要從getVideosForPlaylist
的數據迭代列表,併爲每個YouTube視頻調用getDetailsForVideoIds
。這裏都很好。
將數據從此中排除出現問題。我想推動視頻對象到ytdata
數組,並且我不確定最後的空數組是否由於作用域或某種不同步導致console.log(ytdata)
在API調用完成之前被調用。
我將如何將每個賞金殺手視頻放入ytdata
陣列中以便在全球範圍內銷售?
值得一提的是我們的朋友,這是EcmaScript 6代碼:) – danday74
@ danday74你是對的,我加了一個註釋:) – Shanoor
是的,我是5+我現在要試試這個,因爲它接近這個想法我記得我只是不知道這個Promise是如何工作的 – phwd