ожидание, затем, возврат?

Здравствуйте,

Я использую Sharp для сжатия загруженных пользовательских изображений. Я хочу быть уверен, что мой подход безопасен и теоретически работает во всех случаях.

Я довольно нерешителен, так как я еще не провел должного тестирования и пока что не развернул приложение, а занимаюсь большим рефакторингом кода, затем я протестирую все в ближайшие дни.

Я сомневаюсь в правильности моего кода и хотел бы услышать от вас мнение по этому поводу. Вот он:

const width_ = 200
try {
    thumbnailBuffer = await sharp(originalBuffer)
        .metadata()
        .then(({ width }) => {
            if(width > 400) {
                return sharp(originalBuffer)
                    .resize(Math.round(width * 0.5)).toBuffer()
            } else if(width > 200){
                return sharp(originalBuffer)
                    .resize(width_, { fit: 'inside' }).toBuffer()
            } else {
                return undefined
            }
        })
} catch (error) {
    req.log.error(`post/listings#postListingHandler#sharp: ${error.message}`)
}
Войти в полноэкранный режим Выход из полноэкранного режима

Будет ли thumbnailBuffer содержать значение нового буфера или обещание или все это неправильно?

Спасибо большое !!!

Оцените статью
Procodings.ru
Добавить комментарий