Spec-Zone.ru › Bluebird

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API