Я пытаюсь сделать альтернативный ответ на мой маршрут express.js, когда значение даты в параметре оказывается неверным.Когда я вижу недопустимую дату, значение оказывается пустым, поэтому в моем операторе if в промежуточном программном обеспечении я проверяю истинное значение, а если оно неверное, я выдаю альтернативный ответ.
То, что я получаю, является истинным значением, даже если значение даты равно нулю.Вот пример:
api / timestamp / hello - мой маршрут.
Действительная дата должна выглядеть следующим образом: {"unix":1546214400000,"utc":"Mon, 31 Dec 2018 00:00:00 GMT"}
Недопустимая дата, такая как 'hello', должна выглядеть следующим образом {'error': 'Invalid Date'}
Код возвращает правильное значение, еслидата действительна, но если дата недействительна, я получаю {"unix":null,"utc":"Invalid Date"}
вместо {'error': 'Invalid Date'}
Ниже приведен код.
app.get('/api/timestamp/:date', (req,res) => {
let date = new Date(req.params.date);
if (date === null) {
res.send({'error': 'Invalid Date'});
} else {
let unix = date.getTime();
let utc = date.toUTCString();
res.send({unix, utc});
}
});
Я относительно новичок в выражении и Node.js по этому вопросу.Любые мысли о том, почему нулевое значение не распознается?