Javascript 如何使用.ajax查询多个GitHub URL,然后对结果进行排序?
我尝试使用jQuery编写Javascript来检索我的用户名下的存储库和我在GitHub上拥有的组织,然后根据观察者的数量对它们进行排序,等等。然而,我从未真正做到这一点——尽管为github设置了AUTH-TOKEN以防止最大速率限制。核心任务就是在排序和格式化之前查询多个URL并合并原始数据,我可以这样做。我在网上搜索过,但检索多个数据集并将它们组合起来似乎非常棘手,因为我可能不了解变量和数据结构的范围 我的Javascript正在运行。谁能指导我连接多个查询并对结果进行排序?你可以给我举几个简单的例子。下面是javascript代码和html部分。我留下了一些注释代码,以显示我尝试过的其他方式Javascript 如何使用.ajax查询多个GitHub URL,然后对结果进行排序?,javascript,jquery,sorting,github,github-pages,Javascript,Jquery,Sorting,Github,Github Pages,我尝试使用jQuery编写Javascript来检索我的用户名下的存储库和我在GitHub上拥有的组织,然后根据观察者的数量对它们进行排序,等等。然而,我从未真正做到这一点——尽管为github设置了AUTH-TOKEN以防止最大速率限制。核心任务就是在排序和格式化之前查询多个URL并合并原始数据,我可以这样做。我在网上搜索过,但检索多个数据集并将它们组合起来似乎非常棘手,因为我可能不了解变量和数据结构的范围 我的Javascript正在运行。谁能指导我连接多个查询并对结果进行排序?你可以给我举
(函数($,未定义){
$.ajaxSetup({cache:false});
//将自定义回购URL放入此对象中,按回购名称键入。
var repoURL={
};
//在此对象中放置自定义回购描述,并按回购名称键入。
var repostations={
};
风险值回购=[];
函数repoUrl(repo){
返回repoUrls[repo.name]| | repo.html_url;
}
功能描述(repo){
返回回购说明[repo.name]| | repo.description;
}
函数addRecentlyUpdateReporto(repo){
变量$item=$(“”);
变量$name=$(“
最近更新
我在的帮助下找到了。诀窍是使用$.when.apply().done()结构。因此,我修改了以下代码:
(函数($,未定义){
$.ajaxSetup({cache:false});
//将自定义回购URL放入此对象中,按回购名称键入。
var repoURL={
};
//在此对象中放置自定义回购描述,并按回购名称键入。
var repostations={
};
风险值回购=[];
函数repoUrl(repo){
返回repoUrls[repo.name]| | repo.html_url;
}
功能描述(repo){
返回回购说明[repo.name]| | repo.description;
}
函数addRecentlyUpdateReporto(repo){
变量$item=$(“”);
var$name=$(“”)attr(“href”,repo.html\u url).text(repo.name);
$item.append($(“”).addClass(“名称”).append($name));
var$time=$(“”).attr(“href”,repo.html\u url+“/commits”).text(strftime(“%h%e,%Y”,repo.push\u at));
$item.append($(“”).addClass(“时间”).append($time));
$item.append('⋅');
var$open_issues=$(“”).attr(“href”,repo.html_url+“/open_issues”).text(repo.open_issues+“open_issues”);
$item.append($(“”).addClass(“公开发行”).append($公开发行));
var$watchers=$(“”).attr(“href”,repo.html_url+“/watchers”).text(repo.watchers+“watchers”);
$item.append($(“”).addClass(“观察者”).append($watchers));
$item.append('⋅');
var$forks=$(“”).attr(“href”,repo.html_url+“/network”).text(repo.forks+“forks”);
$item.append($(“”).addClass(“forks”).append($forks));
$item.附件(“最近更新的回购协议”);
}
功能addRepo(repo){
var$item=$(“ ”).addClass(“repo rep”+(repo.language | |“”).toLowerCase();
var$link=$(“”).attr(“href”,repoUrl(repo)).appendTo($item);
$link.append($(“”).text(repo.name));
//$link.append($(“”).text(repo.watchers+“watchers”+“/”+repo.open_issues+“open issues”);
$link.append($(“”).text(reposcription(repo));
//$link.append($(“
”)文本(“已更新”+
//strftime(“%h%e,%Y”,回购推送时间));
$link.append($(“”).addClass(“语言”).text(repo.language));
$item.附于(“#回购”);
}
//var-tokenkey='9594d317ed5';
var promissions=[];//存储每个查询返回的承诺数组。
var temprepos=[];
//这是为了在不同的URL上返回每个查询的承诺。
函数queryorgrepo(请求URL){
返回$.ajax({
//$.ajax({
url:requrl,
//async:false,
数据类型:“json”,
//标题:“授权:令牌”+令牌密钥,
成功:函数(){
//我们只需要results.data。这个空白函数正确吗?
//返回结果数据;
}
});
//回购回报;
//console.log(承诺);
};
var orgnames=['CQuIC',
“朱利安”,
"朱利安图姆",,
“ICIQ”];
//将url列表定义为用户url和组织url的组合。
var orgurls=['https://api.github.com/users/i2000s/repos?per_page=100&callback=?'];
对于(var indx=0;indx