---
hide_title: false
hide_table_of_contents: false
pagination_next: null
pagination_prev: null
---

# releaseLock()

The **`releaseLock()`** method of the `ReadableStreamBYOBReader` interface releases the reader's lock on the stream.
After the lock is released, the reader is no longer active.

The reader will appear errored if the associated stream is errored when the lock is released; otherwise, the reader will appear closed.

If the reader's lock is released while it still has pending read requests then the promises returned by the reader's `ReadableStreamBYOBReader.read()` method are immediately rejected with a `TypeError`.
Unread chunks remain in the stream's internal queue and can be read later by acquiring a new reader.

## Syntax

```js
releaseLock()
```

### Parameters

None.

### Return value

`undefined`.

### Exceptions

- `TypeError`
  - : Thrown if the source object is not a `ReadableStreamBYOBReader`.
