我编码为:
var promise = getHeaders(organisationUrl+tokenFirst);
promise.then(function(reposPageNumber) {
for (var i=1; i <= reposPageNumber; i++) {
let orgReposUrl = organisationUrl+'?page='+i+tokenLast;
orgReposUrlPromises.push(getData(orgReposUrl));
}
return Promise.all(orgReposUrlPromises)
})
.then(function(orgRepoData) {
allOrgReposData = [].concat.apply([], orgRepoData);
for (var j=0; j < allOrgReposData.length; j++) {
let repoContributorsUrl = allOrgReposData[j].contributors_url;
reposContributorsUrlPromises.push(getHeaders(repoContributorsUrl+tokenFirst));
}
return Promise.all(reposContributorsUrlPromises)
})
.then(function(repoContributorsData) {
console.log(repoContributorsData);
})
.catch(function(error){
console.log(error);
});
在以var“ j”标记的for循环中,我获得了URL子页面的数量(getHeaders函数)。当我将Promise.all返回到.then时,我得到了一个没有URL的数字数组。
问题是如何连接并将url和子页面数数组传递给.then
最佳答案
在.then
函数返回的promise的getHeaders
中,返回url和no的数组。子页面(价值由承诺解决)。
reposContributorsUrlPromises.push(
getHeaders(repoContributorsUrl + tokenFirst)
.then(function(result) {
return [repoContributorsUrl + tokenFirst, result]
})
)
关于javascript - 如何创建值数组和相应的Promise传递给.then,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47977354/