【发布时间】:2017-02-11 05:38:15
【问题描述】:
我正在尝试使用 request 和 cheerio 从 post param 的链接中获取每个视频的 src。
要获取每个视频的 src,我应该通过每个循环更改请求选项的 url。但是当我尝试获取类似下面代码的 src 时,更改请求的 url 比请求更快,因此更改请求的 url 是在请求完成之前完成的。我可以做些什么来实现我想要的?
这是代码
let opt = {
transform: function(body) {
return cheerio.load(body);
}
};
router.post('/api', function(req, res) {
let idArray = req.body.data;
for(var i=0; i<idArray.length; i++) {
opt.uri = baseURL + idArray[i];
request(opt)
.then(function($) {
console.log($('video').src);
}
日志(打印同样的东西)
https://example.mp4/asdfasdf
https://example.mp4/asdfasdf
编辑
当我使用这段代码时,我从 idArray[i] 得到 undefined
for(var i=0; i<idArray.length; i++) {
console.log("Before", baseURL + idArray[i])
rpap(baseURL + idArray[i])
.then(function($) {
console.log(idArray);
console.log("After", baseURL + idArray[i]);
}
日志
before http://example.com/adsfasdf
before http://example.com/famvvasd
after http://example.com/undefined
after http://example.com/undefined
【问题讨论】:
标签: javascript node.js request cheerio node-request