public function always(callable $onFulfilledOrRejected)
{
return $this->then(null, null, function ($reason) use($onFulfilledOrRejected) {
return Promise::doResolve($onFulfilledOrRejected())->then(function () use($reason) {
return new static($reason);
});
});
}