> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Class: QuestionRequest<Row>

> One caller request, its admitted answer and independent release.

[browser](/api/modules/browser).QuestionRequest

One caller request, its admitted answer and independent release.

## Type parameters

| Name | Type |
| :- | :- |
| `Row` | `QuestionOutputTypes` |

## Hierarchy

* `AsyncDisposable`

  ↳ **`QuestionRequest`**

## Constructors

### constructor

• **new QuestionRequest**\<`Row`>(`transport`, `id`, `initial?`, `recovery?`)

#### Type parameters

| Name | Type |
| :- | :- |
| `Row` | [`QuestionOutputTypes`](/api/modules/apps#questionoutputtypes) |

#### Parameters

| Name | Type |
| :- | :- |
| `transport` | `RequestTransport`\<`Row`> |
| `id` | `string` |
| `initial?` | [`RequestState`](/api/modules/server#requeststate)\<`Row`> |
| `recovery?` | [`RequestRecovery`](/api/interfaces/browser.RequestRecovery) \| () => `Promise`\<[`RequestRecovery`](/api/interfaces/browser.RequestRecovery)> |

#### Inherited from

AsyncDisposable.constructor

## Properties

### transport

• `Protected` `Readonly` **transport**: `RequestTransport`\<`Row`>

***

### id

• `Readonly` **id**: `string`

***

### recovery

• `Protected` `Optional` `Readonly` **recovery**: [`RequestRecovery`](/api/interfaces/browser.RequestRecovery) | () => `Promise`\<[`RequestRecovery`](/api/interfaces/browser.RequestRecovery)>

## Methods

### snapshot

▸ `Readonly` **snapshot**(): [`RequestSnapshot`](/api/modules/browser#requestsnapshot)\<`Row`>

#### Returns

[`RequestSnapshot`](/api/modules/browser#requestsnapshot)\<`Row`>

***

### subscribe

▸ `Readonly` **subscribe**(`listener`): () => `void`

#### Parameters

| Name | Type |
| :- | :- |
| `listener` | () => `void` |

#### Returns

`fn`

▸ (): `void`

##### Returns

`void`

***

### transition

▸ `Protected` **transition**(`event`): `void`

#### Parameters

| Name | Type |
| :- | :- |
| `event` | [`RequestEvent`](/api/modules/browser#requestevent)\<`Row`> |

#### Returns

`void`

***

### status

▸ **status**(`options?`): `Promise`\<[`RequestState`](/api/modules/server#requeststate)\<`Row`>>

Current native state, bounded without changing execution custody.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<[`RequestState`](/api/modules/server#requeststate)\<`Row`>>

***

### explain

▸ **explain**(`options?`): `Promise`\<\{ `plan`: [`AnswerPlan`](/api/interfaces/server.AnswerPlan)  }>

Read the admitted plan through the execution's current native access gate.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<\{ `plan`: [`AnswerPlan`](/api/interfaces/server.AnswerPlan)  }>

***

### wait

▸ **wait**(`options?`): `Promise`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

***

### observe

▸ **observe**(`options?`): `AsyncGenerator`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`AsyncGenerator`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

***

### result

▸ **result**(`options?`): `Promise`\<[`Answer`](/api/modules/browser#answer)\<`Row`>>

The result interface is independent of execution and storage representation.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<[`Answer`](/api/modules/browser#answer)\<`Row`>>

***

### beforeRead

▸ `Protected` **beforeRead**(): `Promise`\<`void`>

#### Returns

`Promise`\<`void`>

***

### close

▸ **close**(): `Promise`\<`Readonly`\<\{ `confirmation`: `"pending"` | `"confirmed"`  }>>

End this caller's ownership. Waiting and source execution are independent.

#### Returns

`Promise`\<`Readonly`\<\{ `confirmation`: `"pending"` | `"confirmed"`  }>>

***

### \[asyncDispose]

▸ **\[asyncDispose]**(): `PromiseLike`\<`void`>

#### Returns

`PromiseLike`\<`void`>

#### Inherited from

AsyncDisposable.\[asyncDispose]


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.