Как передать файл по умолчанию при ошибке запроса узла? - PullRequest
0 голосов
/ 30 мая 2019

Я использую nodejs с пакетом request .

Ситуация:

  1. Мой веб-интерфейс отправляет запрос файла на мойсервер узла через HTTP GET
  2. Сервер проверяет, прошел ли пользователь аутентификацию
  3. Сервер запрашивает файл на AWS S3 следующим образом:

    request(req.query.url)
       .on('error', (e) => {
        // Some code here?
        res.sendFile(path.join(__dirname, '../assets/favicon.png'))
       })
       .pipe(res)
    

Проблема : Иногда он не находит файл или не может подключиться к AWS S3 или что бы там ни было, я хотел бы отправить файл по умолчанию, если это произойдет.Как я мог этого добиться?

1 Ответ

0 голосов
/ 30 мая 2019

Разве не будет чище, если вы начнете использовать try / catch вместо обещаний?как:

try {
    response = request(req.query.url)
    pipe(res)
catch (e) {
    console.log("just so you can know why it failed")
    pipe(default)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...