> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/sdks/sdk-web/componentes/selphi-biometria-facial/eventos/extractiontimeout.md).

# extractionTimeout

## Detalles

Se emite cuando el widget no completa la extracción facial dentro del tiempo configurado en [timeout](/sdks/sdk-web/componentes/selphi-biometria-facial/propiedades/timeout.md).

**Evento:** `extractionTimeout`

**Tipo:** `FacephiSelphiWidgetCustomEvent<ExtractionTimeoutEvent>` | `CustomEvent<ExtractionTimeoutEvent>`

### Sintaxis

```typescript
selphi.addEventListener('extractionTimeout', onExtractionTimeout);
```

### Objeto recibido

El payload útil es de tipo `SelphiExtractionTimeoutDetail` y está en `event.detail.detail`:

* `eventType` (`string`): Tipo de evento emitido.
* `timeoutResult` (`object`): Información parcial de la extracción.
  * `livenessMoveDiagnosticStatus` (`string`): Estado del diagnóstico de liveness activo.
  * `livenessMoveStabilizedStatus` (`string`): Estado de estabilización en liveness activo.
  * `images` (`number`): Número de imágenes capturadas antes del timeout.
* `code` (`string`): Código de error asociado.

## Descripción

Indica que no se completó la extracción a tiempo. Por defecto, el widget muestra una vista de expiración al usuario.

### Consideraciones

El payload útil está en `event.detail.detail` (ver [formato de eventos](/sdks/sdk-web/componentes/selphi-biometria-facial/eventos.md#formato-de-los-eventos)).

Si `timeout` es `0`, este evento no se emite. La pantalla de timeout incluye un botón que dispara [timeoutErrorButtonClick](/sdks/sdk-web/componentes/selphi-biometria-facial/eventos/timeouterrorbuttonclick.md).

Este evento se emite en cada intento expirado y no cierra el flujo. Para limitar el número total de intentos y detectar cuándo se agotan, usa [maxAttempts](/sdks/sdk-web/componentes/selphi-biometria-facial/propiedades/maxattempts.md) junto con [maxAttemptsExceeded](/sdks/sdk-web/componentes/selphi-biometria-facial/eventos/maxattemptsexceeded.md).

***

## Ejemplo

```jsx
<facephi-selphi-widget
    onExtractionTimeout={(event) => {
      const { timeoutResult } = event.detail.detail;
      console.log('Extraction timeout:', timeoutResult);
    }}
/>
```

```typescript
import { type SelphiExtractionTimeoutDetail } from '@facephi/sdk-web-wc';

selphi.addEventListener('extractionTimeout', (event) => {
  const detail: SelphiExtractionTimeoutDetail = event.detail.detail;
});
```
