【发布时间】:2016-03-27 03:49:22
【问题描述】:
在用于处理数据的自定义模块中,我发送了 2 个请求,首先从我的播放列表中获取视频列表,其次,我使用从第一个结果中获得的 videoID 发送另一个请求。
因为第二个请求依赖于第一个请求,所以我使用的是异步模块的waterfall 方法。
为了检查它是否正常工作,我在第二个函数中记录了第一个请求的结果,但网页没有运行并且在控制台中没有返回任何内容。
这里有什么问题吗?
var data = function(callback) {
var request = require('request'),
async = require('async');
async.waterfall([
function getVideo (getVideoCallback) {
var url = "https://www.googleapis.com/youtube/v3/playlistItems";
var properties = {
part: 'snippet, contentDetails',
playlistId: 'xxx',
key: 'xxx',
maxResults: 50
}
request({ url:url, qs:properties}, function(err, response, body) {
if(err) { console.log(err); return; }
body = JSON.parse(body);
getVideo(body, getVideoCallback);
});
},
function getVideoDetails (result, getVideoDetailsCallback) {
console.log(result);
...
}
], function (err, result) {
if (err) { console.log(err); return; }
callback(result);
});
}
module.exports = data;
【问题讨论】:
标签: javascript node.js youtube node-async