Promise.config
Promise.config(Object {
warnings: boolean=false,
longStackTraces: boolean=false,
cancellation: boolean=false,
monitoring: boolean=false,
asyncHooks: boolean=false
} options) -> Object;
Настройка длинных стеков вызовов, предупреждений, мониторинга, async hooks и отмены. Обратите внимание, что, хотя false является значением по умолчанию, среда разработки может быть распознана и автоматически включить длинные стеки вызовов и предупреждения. Для webpack и browserify среда разработки всегда включена. Смотрите установку по настройке webpack и browserify для производства.
Promise.config({
// Enable warnings
warnings: true,
// Enable long stack traces
longStackTraces: true,
// Enable cancellation
cancellation: true,
// Enable monitoring
monitoring: true,
// Enable async hooks
asyncHooks: true,
});
Вы можете настроить предупреждение о забытых операторах return с помощью wForgottenReturn:
Promise.config({
// Enables all warnings except forgotten return statements.
warnings: {
wForgottenReturn: false
}
});
wForgottenReturn — единственный тип предупреждений, который может быть настроен отдельно. Соответствующий ключ переменной среды — BLUEBIRD_W_FORGOTTEN_RETURN.
В Node.js вы можете настроить предупреждения и длинные стеки вызовов для всего процесса, используя переменные среды:
BLUEBIRD_LONG_STACK_TRACES=1 BLUEBIRD_WARNINGS=1 node app.js
Обе функции автоматически включены, если переменная среды BLUEBIRD_DEBUG установлена или если переменная среды NODE_ENV равна "development".
Использование значения 0 явно отключит функцию, несмотря на то, что в среде отладки она активирована по умолчанию:
# Warnings are disabled despite being in development environment NODE_ENV=development BLUEBIRD_WARNINGS=0 node app.js
Отмена всегда настраивается отдельно для каждого экземпляра bluebird.
Async hooks
Bluebird поддерживает async hooks в версиях Node.js 9.6.0 и выше. После включения обещания из экземпляра bluebird получают уникальные asyncId:
// Async hooks disabled for bluebird
const ah = require('async_hooks');
const Promise = require("bluebird");
Promise.resolve().then(() => {
console.log(`eid ${ah.executionAsyncId()} tid ${ah.triggerAsyncId()}`);
//
});
// Async hooks enabled for bluebird
const ah = require('async_hooks');
const Promise = require("bluebird");
Promise.config({asyncHooks: true});
Promise.resolve().then(() => {
console.log(`eid ${ah.executionAsyncId()} tid ${ah.triggerAsyncId()}`);
//
});
© 2013–2018 Petka Antonov
Licensed under the MIT License.
http://bluebirdjs.com/docs/api/promise.config.html