Как я могу обработать ошибку с Redis и Bluebird?

Если вы действительно хотите создать их на лету, вы можете назначить dict, который возвращается либо globals (), либо locals () в зависимости от того, какое пространство имен вы хотите создать в них:

globals()['somevar'] = 'someval'
print somevar  # prints 'someval'

Но я бы не рекомендовал это делать. В общем, избегайте глобальных переменных. Использование locals () часто просто скрывает то, что вы на самом деле делаете. Вместо этого создайте свой собственный dict и назначьте его.

mydict = {}
mydict['somevar'] = 'someval'
print mydict['somevar']

Изучите python zen; запустите это и запомните его:

>>> import this
0
задан english_wife 18 March 2019 в 18:36
поделиться

1 ответ

Имея свой код, вам просто нужно окружить вызов redis с помощью синтаксиса async / await в инструкции try / catch:

bluebird.promisifyAll(redis.RedisClient.prototype);
bluebird.promisifyAll(redis.Multi.prototype);

try {
  const result = redis.get(token);
} catch (e) {
  return res.status(400).send({ msg: 'Confirm token is expired.' })
}
0
ответ дан Jose Mato 18 March 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: