---
url: /api/kiln/classes/DelayedEvents.md
---
[Kiln API](../../index.md) / [kiln](../index.md) / DelayedEvents

# Class: DelayedEvents

Events sent later: `res.mut(Delayed).emit(3, RoundStart, { round: 2 })` emits RoundStart 3 seconds
(of fixed steps) from now, in Fixed. `cancel(E)` drops pending ones. Survives snapshots when the
event is a named export.

## Constructors

### Constructor

```ts
new DelayedEvents(app): DelayedEvents;
```

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `app` | [`App`](App.md) |

#### Returns

`DelayedEvents`

## Properties

### pending

```ts
pending: Pending[] = [];
```

## Methods

### emit()

```ts
emit<T>(
   seconds, 
   e, 
   ...payload
): void;
```

Emits `e` with `payload` after `seconds` of simulated time (at least one fixed step).

#### Type Parameters

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

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `seconds` | `number` |
| `e` | [`EventType`](../interfaces/EventType.md)<`T`> |
| ...`payload` | `T` *extends* `void` ? \[] : \[`T`] |

#### Returns

`void`

***

### cancel()

```ts
cancel(e?): number;
```

Drops pending emits of `e` (or all of them). Returns how many were dropped.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `e?` | [`EventType`](../interfaces/EventType.md)<`any`> |

#### Returns

`number`

***

### timeLeft()

```ts
timeLeft(e): number | null;
```

Seconds until the next pending `e`, or null.

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `e` | [`EventType`](../interfaces/EventType.md)<`any`> |

#### Returns

`number` | `null`

***

### toJSON()

```ts
toJSON(): object;
```

#### Returns

`object`

##### pending

```ts
pending: object[];
```

***

### restore()

```ts
restore(json): void;
```

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `json` | { `pending`: `object`\[]; } |
| `json.pending` | `object`\[] |

#### Returns

`void`
