У меня есть функция ниже, цель которой состоит в том, чтобы просмотреть локальный каталог с изображениями и автоматически опубликовать его в твиттере. Я не хочу, чтобы фотографии загружались повторно, если они были загружены ранее.
function random_from_array(images){
return images[Math.floor(Math.random() * images.length)];
}
Функция, которая использует функцию random_from_array.
function upload_random_image(images){
console.log('Opening an image...');
var image_path = path.join(__dirname, '/images/' + random_from_array(images)),
b64content = fs.readFileSync(image_path, { encoding: 'base64' });
console.log('Uploading an image...');
T.post('media/upload', { media_data: b64content }, function (err, data, response) {
if (err){
console.log('ERROR:');
console.log(err);
}
else{
console.log('Image uploaded!');
console.log('Now tweeting it...');
T.post('statuses/update', {
media_ids: new Array(data.media_id_string)
},
function(err, data, response) {
if (err){
console.log('ERROR:');
console.log(err);
}
else{
console.log('Posted an image!');
}
}
);
}
});
}
На данный момент она просто выбирает случайное число из параметра массива, который передается, однако я былинтересно, есть ли способ, чтобы каждый раз, когда он вызывался, он мог возвращаться таким способом ниже. Всякий раз, когда я пытаюсь выполнить цикл и возвращать каждую итерацию, она дает мне только первую итерацию, предположительно потому, что возврат прекращается.
return images[0]
return images[1] //Next Invocation
return images[2] //Next Invocation...
Я следую этому уроку https://botwiki.org/resource/tutorial/random-image-tweet/#posting-images
Спасибозаранее за любую помощь, я застрял.