Универсальная выгода для Python

Даниэль ответил на это довольно красиво. Чтобы подробно описать исчерпывающий список способов создания и выполнения запросов, просмотрите следующие варианты использования:

Query Building

Mongoose не будет выполнять запрос до then или exec был вызван. Это очень полезно при построении сложных запросов. Некоторые примеры могут включать использование функций populate и aggregate.

User.find({name: 'John'}) // Will not execute

Выполнение с помощью обратного вызова

Несмотря на то, что многие из-за своего гнездования не нравятся, запросы могут выполняться посредством предоставляя необязательный обратный вызов.

User.find({name: 'John'}, (err, res) => {}) // Will execute

Тогда API как запросы Promises / A +

Mongoose предоставляют функцию then. Это не следует путать с обычными обещаниями. Проще говоря, для спецификации Promises / A + требуется, чтобы функция then работала так же, как и с обещаниями.

User.find({name: 'John'}).then(); // Will execute
Promise.all([User.find({name: 'John'}), User.find({name: 'Bob'})]) // Will execute all queries in parallel

Функция exec

От Mongoose docs If you need a fully-fledged promise, use the .exec() function.

User.find({name: 'John'}).exec(); // Will execute returning a promise
74
задан Staale 14 January 2009 в 09:05
поделиться

3 ответа

Исключения уже печатаются по умолчанию перед завершением программы. Если Вы хотите отправить, ошибка где-то в другом месте (не печатают его), можно сделать это:

try:
    something()
except Exception as e:
    send_somewhere(traceback.format_exception(*sys.exc_info()))
    raise # reraises the exception

примечание, что этот формат с помощью as ключевое слово для Python> 2.6. Старый путь был:

except Exception, e:
144
ответ дан nosklo 7 November 2019 в 07:39
поделиться

traceback модуль довольно полезен для форматирования tracebacks. Можно тогда записать его в файл журнала.

2
ответ дан 7 November 2019 в 07:39
поделиться

Это работает?:

except BaseException, e:
1
ответ дан Swaroop C H 7 November 2019 в 07:39
поделиться
Другие вопросы по тегам:

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