

# useQueue

<div class="api-docs__separator" data-reactroot="">

---

</div><div class="api-docs__import" data-reactroot="">

```ts
import { useQueue } from "@hyper-fetch/react"
```

</div><div class="api-docs__section">

## Description

</div><div class="api-docs__description"><span class="api-docs__do-not-parse">



</span></div><p class="api-docs__definition">

Defined in [react/src/hooks/use-queue/use-queue.hooks.ts:14](https://github.com/BetterTyped/hyper-fetch/blob/c44d728f/packages/react/src/hooks/use-queue/use-queue.hooks.ts#L14)

</p><div class="api-docs__section">

## Preview

</div><div class="api-docs__preview fn">

```ts
useQueue<Request>(request, options)
```

</div><div class="api-docs__section">

## Parameters

</div><div class="api-docs__parameters"><table><thead><tr><th>Name</th><th>Details</th></tr></thead><tbody><tr param-data="request"><td class="api-docs__param-name required">

### request 

`Required`

</td><td class="api-docs__param-type">

`Request`

</td></tr><tr param-data="options"><td class="api-docs__param-name required">

### options 

`Required`

</td><td class="api-docs__param-type">

`UseQueueOptionsType`

</td></tr></tbody></table></div><div class="api-docs__section">

## Returns

</div><div class="api-docs__returns">

```ts
{
  pause: () => void;
  requests: {
    request: Request;
    requestId: string;
    retries: number;
    stopped: boolean;
    timestamp: number;
    deleteRequest: () => void;
    downloading: {
      loaded: number;
      progress: number;
      sizeLeft: number;
      startTimestamp: number;
      timeLeft: number | null;
      total: number;
      };
    startRequest: () => void;
    stopRequest: () => void;
    uploading: {
      loaded: number;
      progress: number;
      sizeLeft: number;
      startTimestamp: number;
      timeLeft: number | null;
      total: number;
      };
  }[];
  start: () => void;
  stop: () => void;
  stopped: boolean;
}
```

</div>