在我的代码中,我使用promises来控制异步,在我发送nextPageToken的下一个请求中,然后发送带有空视频的请求
---代码 -
search_this_q="cats";
function load(){
search(search_this_q)
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function(data){
console.log(data)
return next_Page_Search(data.nextPageToken,search_this_q);
})
.then(function (result) {
console.log(".theen finish load")
console.log(result);
console.log(".theen finish load")
});
}
function next_Page_Search (token_Page,search_this) {
return new Promise((resolve, reject) => {
var data={
part: 'id', //'id,snippet',
maxResults: 50,
pageToken:token_Page,
q:search_this,
type:'video',
// videoEmbeddable:true,
key:"mykey"
};
// GET
$.get("https://www.googleapis.com/youtube/v3/search",
data,function (data,status){
resolve(data);
}
);
// end GET
});
}
---代码 -
第9次之后的答案是空的安排(项目)
答案 0 :(得分:1)
我在Youtube搜索方法中也遇到类似的情况,我建议您使用publishedAfter
和publishedBefore
参数来减少搜索时间。看起来Youtube尝试通过估算来优化每个搜索请求的CPU服务器时间。因此,您需要对搜索查询更加具体,或者需要减少搜索时间。例如,我已经尝试了非常具体的视频,并在说明中添加了唯一的编号。我可以在Youtube网站上轻松找到它,但是如果没有添加search
和publishedBefore
大约1小时的发布时间,我就无法使用publishedAfter
方法。因此,尝试一下!