# async.cancel (Compartido)

> Detiene un hilo async de este recurso. Un hilo en pausa termina en el acto; llamada desde el propio hilo, se detiene ahí mismo.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Compartido
- **Categoría**: Temporizadores y asíncrono
- **URL**: https://wiki.mymp.gg/es/async.cancel

## Sintaxis

```lua
bool async.cancel(any thread)
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `thread` | `any` | Hilo dado por `async.thread` o `async.mutex`. |

## Retorno

`true` si detuvo el hilo, `false` si no es un hilo async de este recurso o ya fue cancelado.

Un hilo cancelado ya no ejecuta su `callback`.

## Ejemplo

```lua
local countdown = async.thread(function()
    async.wait(10000)
    outputDebugString("se acabó el tiempo")
end)

addCommandHandler("stopcountdown", function()
    async.cancel(countdown)
end)
```

## Ver también

- [async.status (Compartido)](https://wiki.mymp.gg/es/async.status.md): Indica en qué estado está un hilo async de este recurso.
- [async.thread (Compartido)](https://wiki.mymp.gg/es/async.thread.md): Ejecuta una función en un hilo async nuevo, en el acto. La llamada vuelve cuando la función termina o hace su primera pausa, como con async.wait.
