我目前正在开发一个带有javascript,node和twit包的twitter机器人。我已经设置了一个计时器和一个随机选择功能,所以我的目标是每60秒发布一次机器人,并从我的数组中选择一个随机句子。当我单独测试两个位(定时器或随机函数)时,它们可以正常工作,但出于某种原因,我无法使它们协同工作。 我试图为getRandomSentence()函数声明一个变量(如var tweet = getRandomSentence(tweet))但是我会得到这个错误返回句子[index]; ^
TypeError:无法读取属性' NaN'未定义的
像我上传的代码现在已经上传但计时器似乎无法正常工作。
// timer
setInterval(getRandomSentence, 1000*60)
// random
var sentences = [
'sentence1',
'sentence2',
'sentence3.',
'sentence4',
'sentence5',
'sentence6'
],
maxSentences = sentences.length;
function getRandomSentence() {
var index = Math.floor(Math.random() * (maxSentences - 1));
return sentences[index];
}
// tweets
//
T.post('statuses/update', { status: getRandomSentence()}, tweeted);
function tweeted (err, data, response) {
if (err) {
console.log(err);
}
else {
console.log("It works.");
}
}

如果有人能在这里帮助我,我真的很感激!我还是一个绝对的新手。
答案 0 :(得分:0)
您已对代码进行了一些更改。这适用于控制台记录随机句子每60秒发推一次:
var sentences = [
'sentence1',
'sentence2',
'sentence3',
'sentence4',
'sentence5',
'sentence6'
];
var maxSentences = sentences.length;
var sentenceToTweet = '';
function getRandomSentence() {
var index = Math.floor(Math.random() * (maxSentences - 1));
sentenceToTweet = sentences[index];
console.log(sentenceToTweet);
setTimeout(getRandomSentence, 1000 * 60);
}
getRandomSentence();