Skip to content

Commit 20086ca

Browse files
committed
Refactoring unordered-load.js
1 parent 838d830 commit 20086ca

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

Diff for: js/unordered-load.js

+26-19
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,36 @@
22

33
const pokemonsNumber = Array
44
.from(Array(251).keys())
5-
.map(number => String(number + 1)
6-
.padStart(3, '0'))
5+
.map(number => String(number + 1).padStart(3, '0'))
76

8-
let loaded = 0
9-
const total = pokemonsNumber.length
10-
const progressBar = document.querySelector('progress')
11-
const progressPercentage = document.querySelector('span')
7+
function progressBarScope() {
8+
const progressBar = document.querySelector('progress')
9+
const progressPercentage = document.querySelector('span')
10+
const total = pokemonsNumber.length
11+
let loaded = 0
1212

13-
function updateProgressbar() {
14-
let percentage = 0
15-
++loaded
16-
percentage = Math.floor((loaded * 100) / total)
17-
progressBar.value = percentage
18-
progressPercentage.textContent = percentage + '%'
13+
return () => {
14+
++loaded
15+
let percentage = Math.floor((loaded * 100) / total)
16+
progressBar.value = percentage
17+
progressPercentage.textContent = percentage + '%'
18+
}
19+
}
20+
const updateProgressBar = progressBarScope()
21+
22+
function onError(pokemonNumber) {
23+
return () => {
24+
console.error('Pokemon failed ' + pokemonNumber)
25+
loadInOrder()
26+
}
1927
}
2028

2129
function createImageElement(pokemonNumber) {
22-
const img = new Image()
23-
img.src = `images/pokemons/${pokemonNumber}.png`
24-
img.addEventListener('load', updateProgressbar)
25-
img.addEventListener('load', () => console.log('Pokemon Loaded ' + pokemonNumber))
26-
img.addEventListener('error', () => console.log('Pokemon failed ' + pokemonNumber))
27-
document.body.appendChild(img)
30+
const image = new Image()
31+
image.src = `images/pokemons/${pokemonNumber}.png`
32+
image.addEventListener('load', updateProgressBar)
33+
image.addEventListener('error', onError(pokemonNumber))
34+
document.body.appendChild(image)
2835
}
2936

30-
pokemonsNumber.forEach(createImageElement)
37+
pokemonsNumber.forEach(createImageElement)

0 commit comments

Comments
 (0)