Я в основном перезаписываю overwriteME.jpg внутри
const screenshotDesktop = require('screenshot-desktop')
const sharp = require('sharp');
(async () => {
while (1 < 5){
var currentShot = screenshotDesktop.all()
.then(imgs => {
return fs.writeFile(`/Users/ga/proj/overwriteME.jpg`, imgs[0], (err) => {
if (err) throw err;
crop();
});
});
await delay(1000);
}
async function crop(crop){
// original size from metadata
var resizedImage = await sharp('/Users/ga/proj/overwriteME.jpg');
var metadata = await resizedImage.metadata();
console.log(metadata);
};
})();
function delay(timeout) {
return new Promise((resolve) => {
setTimeout(resolve, timeout);
});
}
Я ожидал разных метаданных, поскольку я делаю скриншоты видео, воспроизводимого на экране, и перезаписываю overwriteME.jpg и использую Sharp для извлеченияметаданные.
На самом деле произошло то, что возвращались те же метаданные, когда я думал, что Sharp будет отражать изменения файла.
Каким-то образом файл меняется, но когда Sharp читает его, он ссылается ната же самая старая картина с пути в начале.