Spec-Zone.ru › Bluebird

.tap

.tap(function(any value) handler) -> Promise

По существу, как .then(), за исключением того, что переданное значение является возвращаемым значением.

Это означает, что вы можете вставить .tap() в цепочку .then() без влияния на то, что передается через цепочку. (См. пример ниже).

В отличие от .finally, это не вызывается для отклонений.

getUser().tap(function(user) {
    //Like in finally, if you return a promise from the handler
    //the promise is awaited for before passing the original value through
    return recordStatsAsync();
}).then(function(user) {
    //user is the user from getUser(), not recordStatsAsync()
});

Общий случай включает добавление ведения журнала в существующую цепочку обещаний:

doSomething()
    .then(...)
    .then(...)
    .then(...)
    .then(...)
doSomething()
    .then(...)
    .then(...)
    .tap(console.log)
    .then(...)
    .then(...)

Примечание: в браузерах необходимо вызвать .tap с console.log.bind(console), так как методы консоли не могут вызываться как самостоятельные функции.

© 2013–2018 Petka Antonov
Licensed under the MIT License.
http://bluebirdjs.com/docs/api/tap.html

Spec-Zone.ru

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