# queryComplete

Emitted when an engine query completes. Read results and actual execution tier from detail for performance and result feedback.

Canonical: https://grid.syidax.com/docs/events/queryComplete/

<a id="meaning"></a>

## What does this API do?

Emitted when an engine query completes. Read results and actual execution tier from detail for performance and result feedback.

<a id="contract"></a>

## Exact input and result types

```typescript
queryComplete: GridQueryResult & { tier: GridEngineTier }
```

<a id="usage"></a>

## Usage flow

Subscribe with grid.addEventListener('queryComplete', handler). The result is in event.detail, and event names are case-sensitive. Remove subscriptions when disposing of the view.

```javascript
const controller = new AbortController();
grid.addEventListener('queryComplete', event => {
  console.log(event.detail);
}, { signal: controller.signal });
// On view disposal: controller.abort();
```

<a id="types"></a>

## Read related types

- [GridQueryResult](https://grid.syidax.com/docs/types/GridQueryResult.md)
- [GridEngineTier](https://grid.syidax.com/docs/types/GridEngineTier.md)

<a id="recipes"></a>

## Feature explanations and examples

- [JavaScript processing engine](https://grid.syidax.com/docs/features/js-processing.md) — The JavaScript engine is the standard browser execution path for sorting, filtering, and processing table data. Use it as a straightforward starting point for checking deployment environments and feature combinations.
