Javascript 如何使用.ajax查询多个GitHub URL,然后对结果进行排序?

Javascript 如何使用.ajax查询多个GitHub URL,然后对结果进行排序?,javascript,jquery,sorting,github,github-pages,Javascript,Jquery,Sorting,Github,Github Pages,我尝试使用jQuery编写Javascript来检索我的用户名下的存储库和我在GitHub上拥有的组织,然后根据观察者的数量对它们进行排序,等等。然而,我从未真正做到这一点——尽管为github设置了AUTH-TOKEN以防止最大速率限制。核心任务就是在排序和格式化之前查询多个URL并合并原始数据,我可以这样做。我在网上搜索过,但检索多个数据集并将它们组合起来似乎非常棘手,因为我可能不了解变量和数据结构的范围 我的Javascript正在运行。谁能指导我连接多个查询并对结果进行排序?你可以给我举

我尝试使用jQuery编写Javascript来检索我的用户名下的存储库和我在GitHub上拥有的组织,然后根据观察者的数量对它们进行排序,等等。然而,我从未真正做到这一点——尽管为github设置了AUTH-TOKEN以防止最大速率限制。核心任务就是在排序和格式化之前查询多个URL并合并原始数据,我可以这样做。我在网上搜索过,但检索多个数据集并将它们组合起来似乎非常棘手,因为我可能不了解变量和数据结构的范围

我的Javascript正在运行。谁能指导我连接多个查询并对结果进行排序?你可以给我举几个简单的例子。下面是javascript代码和html部分。我留下了一些注释代码,以显示我尝试过的其他方式

(函数($,未定义){
$.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