[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Types](https://evolu.dev/docs/api-reference/common/Types) › Callback

```ts
type Callback<T> = (value: T) => void;
```

Defined in: [packages/common/src/Types.ts:37](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Types.ts#L37)

A function that receives a value and returns nothing.

Use for event handlers, observers, and async completion handlers.

### Completion callbacks

```ts

const completedValues: Array<string> = [];
const onComplete: Callback<string> = (value) => {
  completedValues.push(value);
};
const queue = new Set<Callback<Result<string, Error>>>();
queue.add((result) => {
  if (result.ok) completedValues.push(result.value);
});

onComplete("direct");
for (const callback of queue) callback(ok("queued"));

assertEqual(completedValues, ["direct", "queued"]);
```