将对象属性传递给twitter api时出现对象错误

时间:2015-04-23 00:18:02

标签: javascript node.js object twitter

我正在使用twitter npm软件包库来创建一个Twitter机器人,通过转发,收藏和重新发布某些推文来与Twitter上的推文进行交互。所有功能都正常运行。但是,僵尸程序经常会抛出[object Object]错误并使程序崩溃直到重新启动。以下是我用来与推文进行互动的功能。

function interactPostTweet(link, tweetParams) {
    client.post(link, tweetParams, function (error, tweet, response) {
      if (error) {
        throw error; //error is thrown on this line, and [object Object] is the only error message
      }
    });  
}
function postTweet(tweetText) {
  var update = 'statuses/update';
  var params = {'status': tweetText};
  interactPostTweet(update, params);
  console.log("Tweeted: " + tweetText);

}
function favoriteTweet(Id) {
  var favorite = 'favorites/create';
  var params = {'id': Id};
  interactPostTweet(favorite, params);
}
function retweetTweet(Id) {
  var retweet = 'statuses/retweet/' + Id + ".json";
  var params = {'id': Id};
  interactPostTweet(retweet, params);
}

从我读过的内容来看,似乎[object Object]错误是由于将params对象传递给client.post函数引起的。客户端对象是twitter npm库附带的Twitter对象。这是来自npm库的文档。

client.get(path, params, callback);
client.post(path, params, callback);
client.stream(path, params, callback);

client.get('favorites/list', function(error, tweets, response){
  if(error) throw error;
  console.log(tweets);  // The favorites. 
  console.log(response);  // Raw response object. 
});

client.post('statuses/update', {status: 'I Love Twitter'},  function(error, tweet, response){
  if(error) throw error;
  console.log(tweet);  // Tweet body. 
  console.log(response);  // Raw response object. 
});

该代码适用于转发,收藏和发布推文,但问题是它有时会因没有明显原因而崩溃。我可以使用try catch,但由于我不确定导致错误的原因,我不确定如何解决问题。

0 个答案:

没有答案