JSFiddle - React, Tailwind, and code Playground

JavaScript

void async function() {
  const url = 'https://source.unsplash.com/random';
  const response = await fetch(url);
  const total = Number(response.headers.get('content-length'));
  let loaded = 0;

	if (!response.body[Symbol.asyncIterator]) {
    response.body[Symbol.asyncIterator] = () => {
      const reader = response.body.getReader();
      return {
        next: () => reader.read(),
      };
    };
  }

	for await (const result of response.body) {
    loaded += result.length;
    console.log(((loaded / total) * 100).toFixed(2), '%');
  }
}()