<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@firebase/storage](./storage.md) &gt; [UploadTask](./storage.uploadtask.md) &gt; [then](./storage.uploadtask.then.md)

## UploadTask.then() method

This object behaves like a Promise, and resolves with its snapshot data when the upload completes.

<b>Signature:</b>

```typescript
then(onFulfilled?: ((snapshot: UploadTaskSnapshot) => unknown) | null, onRejected?: ((error: FirebaseStorageError) => unknown) | null): Promise<unknown>;
```

## Parameters

|  Parameter | Type | Description |
|  --- | --- | --- |
|  onFulfilled | ((snapshot: [UploadTaskSnapshot](./storage.uploadtasksnapshot.md)<!-- -->) =&gt; unknown) \| null | The fulfillment callback. Promise chaining works as normal. |
|  onRejected | ((error: [FirebaseStorageError](./storage.firebasestorageerror.md)<!-- -->) =&gt; unknown) \| null | The rejection callback. |

<b>Returns:</b>

Promise&lt;unknown&gt;

