Некоторый контекст
Я использую приложение nodejs, которое работает с Twit API.
Я использую его для периодической публикации некоторых изображений на твитере, для генерации изображений с использованием обработки ( java API)
Поэтому я использую библиотеку 'fs' nodejs для выполнения команды: processing-java --sketch="%cd%"\\processing\\sketch --run
Затем я использую eventListener, чтобы узнать, когда обработка закрыта для загрузки сгенерированное изображение, чтобы сделать это, используя это JS обещание:
Файл: generate-sketch-images. js
const {exec} = require('child_process');
const fs = require('fs');
module.exports = new Promise((resolve,reject) =>{
let cmd = `processing-java --sketch="%cd%"\\processing\\sketch --run`;
console.log('running processing');
exec(cmd).addListener('close',() => {
resolve(fs.readFileSync(
'processing/paints/paint.png',
{encoding:'base64'}
));
console.log('image received from processing');
});
})
Затем я сделал эта функция:
Файл: бот. js
const generate_image = require('./utils/generate-sketch-images');
async function gerar_imagem(){
console.log('generating the image');
let img = await generate_image;
}
Проблема
Функция 'gerar_imagens' только работает в первый раз
Когда я делаю что-то вроде setInterval(gerar_imagens,1000);
, это работает только один раз
Я уже сделал много консольных журналов, и кажется, что вызов функции происходит, но обещание игнорируется
кто-то знает, что происходит ??