Обработка ошибок с try..catch в Node.js - PullRequest
0 голосов
/ 19 мая 2018

Мне интересно, правильно ли я в следующем сценарии обрабатываю ошибку и что я должен вернуть на ошибка ?Можете ли вы вернуть statusCode для чего-либо или только для response ?

const storage = multer.diskStorage({
destination: function (req, file, cb) {
    if (err) {
        new Error({
            status: "INTERNAL SERVER ERROR"
        })
    }
    let filepath = './public/images/'
    cb(null, filepath)
},
filename: function (req, file, cb) {
    if (err) {
        new Error({
            status: "INTERNAL SERVER ERROR"
        })
    }
    let ext = file.originalname.split(".").pop();
    let filename = file.fieldname + '-' + Date.now() + '.' + ext
    //console.log(ext);
    cb(null, filename);
}

})

1 Ответ

0 голосов
/ 19 мая 2018

Вы можете использовать коды состояния только на объекте ответа.

Для получения более подробной информации прочитайте this .

Попробуйте прочитать этот вопрос один раз.


Ответ на ваш обновленный код :

Вы можете отправить ошибку в объекте обратного вызова.Подробнее о обратном вызове здесь .

Обратный вызов принимает два параметра:

  1. Ошибка
  2. Данные

Я обновлю ваш код ниже:

Обновленный код:

    const storage = multer.diskStorage({
        destination: function(req, file, cb) {
            if (err) {
                cb(err, null);
            }
            let filepath = './public/images/'
            cb(null, filepath)
        },
        filename: function(req, file, cb) {
            if (err) {
                cb(err, null);
            }
            let ext = file.originalname.split(".").pop();
            let filename = file.fieldname + '-' + Date.now() + '.' + ext
            //console.log(ext);
            cb(null, filename);
        }
    })

Это то, как вы в идеале обрабатываете ошибки с обратным вызовом.

Попробуйте и проверьте, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...