node.js .pop()undefined不是函数错误

时间:2015-05-25 19:36:52

标签: javascript node.js mongodb twitter

我在使用nodejs和mongodb时遇到了一个奇怪的错误。当我调用array.pop()时,我收到此错误:

var name = docs.pop().screen_name;
                            ^
TypeError: undefined is not a function
    at null._onTimeout (test.js:26:29)
    at Timer.listOnTimeout (timers.js:110:15)

这是我的代码:

function get_tweets(docs, callback) {
    setTimeout(function () {
        if (docs.length == 0) {
            return true;
        } else {
            var name = docs.pop().screen_name;
            client.get('statuses/user_timeline', {
                screen_name: name,
                limit: 20
            }, function (error, tweets, response) {
                if (error) {
                    console.log(error);
                    if (error.code == 88) {
                        console.log(error);
                    }
                } else {
                    tweets.sort(function (a, b) {
                        return b.retweet_count - a.retweet_count;
                    });
                    var top = tweets.slice(0, 3);
                    callback(top);
                }
            });
        }
    }, 10000);
}

    var url = 'url';
    MongoClient.connect(url, function(err, db) {
      assert.equal(null, err);
      console.log("Connected correctly to server");
      var col_accounts = db.collection('accounts');
      // Insert a single document


        // Get first documents from cursor
         col_accounts.find().toArray(function(err, results) {
            console.log("gots the stuff");

            var col_tweets = db.collection('tweets');
            console.log(results[0]);
            get_tweets(results, function(top){
                col_tweets.insert(top, {w:1}, function(err, result) {});
                if(results.length > 0){
                    get_tweets(results.pop());
                }
            }); 

            db.close();
          });
    });

我认为应该没有错误。 node.js是否支持.pop()?它似乎适用于我在遇到此问题后尝试过的测试用例。如果你们知道如何解决这个问题我会很感激。

谢谢!

0 个答案:

没有答案