.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