---
title: "finally | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally/"
---

# finally

> Represents the completion of an asynchronous operation

## Interfaces

### Promise

#### Type Parameters

| Type Parameter |
| ------ |
| `T` |

#### Properties

##### \[toStringTag\]

```ts
readonly [toStringTag]: string;
```

#### Methods

##### catch()

```ts
catch<TResult>(onrejected?): Promise<T | TResult>;
```

Attaches a callback for only the rejection of the Promise.

###### Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `TResult` | `never` |

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `onrejected?` | (`reason`) => `TResult` \| `PromiseLike`\<`TResult`\> | The callback to execute when the Promise is rejected. |

###### Returns

[`Promise`](#promise)\<`T` \| `TResult`\>

A Promise for the completion of the callback.

##### finally()

###### Call Signature

```ts
finally(onfinally?): Promise<T>;
```

Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
resolved value cannot be modified from the callback.

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `onfinally?` | () => `void` | The callback to execute when the Promise is settled (fulfilled or rejected). |

###### Returns

[`Promise`](#promise)\<`T`\>

A Promise for the completion of the callback.

###### Call Signature

```ts
finally(always): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `always` | (`value?`) => `any` |

###### Returns

`any`

##### then()

```ts
then<TResult1, TResult2>(onfulfilled?, onrejected?): Promise<TResult1 | TResult2>;
```

Attaches callbacks for the resolution and/or rejection of the Promise.

###### Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `TResult1` | `T` |
| `TResult2` | `never` |

###### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `onfulfilled?` | (`value`) => `TResult1` \| `PromiseLike`\<`TResult1`\> | The callback to execute when the Promise is resolved. |
| `onrejected?` | (`reason`) => `TResult2` \| `PromiseLike`\<`TResult2`\> | The callback to execute when the Promise is rejected. |

###### Returns

[`Promise`](#promise)\<`TResult1` \| `TResult2`\>

A Promise for the completion of which ever callback is executed.

## Variables

### Promise

```ts
Promise: PromiseConstructor;
```
