FileReader: readyState property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

We’d love to hear your thoughts on the next set of proposals for the JavaScript language. You can find a description of the proposals here.
Please take two minutes to fill out our short survey.

Note: This feature is available in Web Workers.

The readyState read-only property of the FileReader interface provides the current state of the reading operation. This will be one of the states: EMPTY, LOADING, or DONE.

Value

A number which is one of the three possible state constants defined on the FileReader interface:

FileReader.EMPTY (0)

Reader has been created, but none of the read methods have been called yet.

FileReader.LOADING (1)

A read method has been called. A File or Blob is being read, and no error has occurred yet.

FileReader.DONE (2)

The read operation is complete. This could mean that: the entire File or Blob has been read into memory, a file read error occurred, or abort() was called and the read was cancelled.

Examples

js
const reader = new FileReader();
console.log("EMPTY", reader.readyState); // readyState will be 0

reader.readAsText(blob);
console.log("LOADING", reader.readyState); // readyState will be 1

reader.onloadend = () => {
  console.log("DONE", reader.readyState); // readyState will be 2
};

Specifications

Specification
File API
# dom-filereader-readystate

Browser compatibility

See also