如何只在JavaScript中填充数组后才进步

时间:2017-12-10 19:30:27

标签: javascript jquery asynchronous twitter codebird

所以我使用codebird-js与JavaScript中的twitter API进行交互,但是在特定时间api提取的推文的限制是100.因此,我需要连续调用API但是需要更改“max_id”参数可以移动时间范围并获得接下来的10条推文。

我的问题是我正在存储针对阵列中特定帐户的推文,因为这些是我唯一关心的,但代码会在数组完全填充for循环之前继续。我曾试图使用承诺和回调,但我无法以我想要的方式工作。我最近的尝试是当/然后使用jquery时,但它仍然提供与我的其他尝试相同的结果。下面是一些代码尝试我尝试只打印数组的第一个元素,它总是出现未定义。我知道数组正在创建,因为如果我只是打印数组,JS控制台会显示它已填充。感谢您提出任何建议!

actualReplies = []
    var params = {
        to:"someTwitterHandle",
        count:100,
        result_type:"popular"
    }

    $.when(
        cb.__call(
        "search_tweets",
        params,
        function (reply){
            for(var i=0; i<reply.statuses.length; i++){
                if(reply.statuses[i].in_reply_to_status_id_str == tweetId){
                    actualReplies.push(reply.statuses[i])
                }
            }
            recent = reply.statuses[reply.statuses.length-1].id_str
        }
    )).then( function(){
        console.log(actualReplies[0])
    })

0 个答案:

没有答案