此呼叫从起始名称和结果限制中询问,最大限制为1000,因此我必须使用上一次呼叫的最后结果值多次调用它以收集所有结果。
steem.api.lookupAccounts(lowerBoundName,limit,function(err,result)
我尝试使用集合保存结果,然后获取集合中的最后一个值,并使用它进行调用,但是我开始将头撞到墙上。
这是我的尝试:
<script src="https://cdn.steemjs.com/lib/latest/steem.min.js"></script>
<script>
steem.api.lookupAccounts('a', '1000', function(err, result) {
//var last = result[999];
//console.log(last);
var mySet = new Set();
mySet.add(result);
var last = mySet.slice(-1)[0];
//var ok = mySet.last();
console.log(last);
var i;
for (i = 0; i < 5; i++) {
steem.api.lookupAccounts(mySet.pop(), '1000', function(err, result) {
});
}
});
// mySet.forEach(function(value) {
// console.log(value);
//});
</script>
答案 0 :(得分:1)
let all = [];
let fetchAll = (start = "a") => {
fetchPart(start)
.then((result) => {
all.push(result);
if(result.length == 1000){
fetchAll(result[result.length - 1]);
}
});
}
let fetchPart = (start) => {
return new Promise((ok) => {
steem.api.lookupAccounts(start, '1000', function (err, result) {
console.log(result);
ok(result);
});
});
}
fetchAll();
这可能会帮到您。 all
将是一个包含所有子结果的数组。