---
url: https://scruple.dev/rules/async/no-unobserved-async-work.md
description: Do not leave started async work unobserved.
---

# async/no-unobserved-async-work

Do not leave started async work unobserved.

## What it checks

Promise-producing calls should be awaited, returned, chained, aggregated, or explicitly marked as deliberate fire-and-forget work.

## Rule metadata

* Package: `@scruple/async`
* Category: Async lifecycle
* Tags: promises, errors, fire-and-forget
* Default threshold: `plugin default`
* Minimum confidence: `plugin default`

## Examples

### Reported

```ts
function save() { persist(); }
```

### Accepted

```ts
async function save() { await persist(); }
```
