我正在使用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,但由于我不确定导致错误的原因,我不确定如何解决问题。