Существует несколько способов написания условного оператора в JS. Однако, если есть несколько утверждений, я бы сказал, что вы должны придерживаться if
else if
else
. Но если вы хотите увидеть другие подходы, вот они:
Использование Тернарный оператор ? :
const {pr} = req.query
pr === 'trans'
? util.transUrl(req.originalUrl).then(param =>
res.redirect(param)
)
: pr === 'inst'
? util.instaUrl(req.originalUrl).then(param =>
res.redirect(param)
)
: res.status(400).send('Contact the editor of the originating page.')
Использование Логика шлюза && ||
const {pr} = req.query
(pr === 'trans' &&
util.transUrl(req.originalUrl).then(param =>
res.redirect(param))
) ||
(pr=== 'inst' &&
util.instaUrl(req.originalUrl).then(param =>
res.redirect(param))
) ||
res.status(400).send('Contact the editor of the originating page.')
Теперь, глядя на ваш код, здесь if и else if операторы похожи . Таким образом, вы можете избежать использования else if
троичного оператора, например:
const {pr} = req.query
if(pr === 'trans' || pr === 'inst'){
util[pr === 'trans' ? 'transUrl' : 'instaUrl'](req.originalUrl)
.then(param => res.redirect(param))
}
else{
res.status(400).send('Contact the editor of the originating page.')
}
Всего один FYI : Пожалуйста, рассмотрите возможность использования ===
вместо ==
всякий раз, когда вы сравниваете строки и нет необходимости принуждения.