---
hide_title: false
hide_table_of_contents: false
pagination_next: null
pagination_prev: null
---
# ReadableStreamDefaultReader.releaseLock()

The **`releaseLock()`** method of the `ReadableStreamDefaultReader` interface releases the reader's lock on the stream.

If the associated stream is errored when the lock is released, the reader will appear errored in that same way subsequently; 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 `ReadableStreamDefaultReader.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

None (`undefined`).

### Exceptions

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