从(上一个调用)最后一个结果值循环json调用

时间:2018-07-27 11:30:29

标签: javascript

此呼叫从起始名称和结果限制中询问,最大限制为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>

1 个答案:

答案 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将是一个包含所有子结果的数组。