Exactly as you describe, FYI promise#tap is a side-effect function with the last promise return value kept intact.