---
title: "Interface: Promise\&lt;T\> | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-editor/iframe-api/reference/design-editor-iframe/interfaces/finally.Promise/"
---

# Interface: Promise\<T\>

> Represents the completion of an asynchronous operation

## Type Parameters

### T

`T`

## Properties

### \[toStringTag\]

> `readonly` **\[toStringTag\]**: `string`

## Methods

### finally()

#### Call Signature

> **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

###### onfinally?

() => `void`

The callback to execute when the Promise is settled (fulfilled or rejected).

##### Returns

`Promise`\<`T`\>

A Promise for the completion of the callback.

#### Call Signature

> **finally**(`always`): `any`

##### Parameters

###### always

(`value?`) => `any`

##### Returns

`any`

***

### then()

> **then**\<`TResult1`, `TResult2`\>(`onfulfilled?`, `onrejected?`): `Promise`\<`TResult1` \| `TResult2`\>

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

#### Type Parameters

##### TResult1

`TResult1` = `T`

##### TResult2

`TResult2` = `never`

#### Parameters

##### 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`\<`TResult1` \| `TResult2`\>

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

***

### catch()

> **catch**\<`TResult`\>(`onrejected?`): `Promise`\<`T` \| `TResult`\>

Attaches a callback for only the rejection of the Promise.

#### Type Parameters

##### TResult

`TResult` = `never`

#### Parameters

##### onrejected?

(`reason`) => `TResult` \| `PromiseLike`\<`TResult`\>

The callback to execute when the Promise is rejected.

#### Returns

`Promise`\<`T` \| `TResult`\>

A Promise for the completion of the callback.
