Здравствуйте, есть проблема с блочными областями видимости переменных.
Есть такой код
PortfolioSchema.pre("save", async function (next) {
.....
var placeholder;
Jimp.read(pathToPortfolioImages + imagename, (err, image) => {
if (err) throw err;
else {
image.resize(546, Jimp.AUTO);
image.write(pathToPortfolioImages + thumbnailname);
new Jimp(image.bitmap.width / 2, image.bitmap.height / 2, 0x00000000, function (err, thumbnail) {
thumbnail.getBase64(Jimp.MIME_PNG, (err, base64) => {
if (err) throw err;
placeholder = base64;
})
});
}
});
this.thumbnail = thumbnailname;
this.imageplaceholder = placeholder;
next()
});
тут:
placeholder = base64;
не присваивается переменная. Как преодолеть эту "невидимость"?
p.s.
this.imageplaceholder = placeholder;
тут присваивается значение полю в модели.