-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclosure.js
21 lines (17 loc) · 947 Bytes
/
closure.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* Platforma de streaming pentru care lucrezi începe să aibă din ce în ce mai mulți utilizatori!
Din cauza asta, serialele populare încep să fie din ce în ce mai vizionate, iar serverele nu mai pot face față!
Implementează un mecanism de caching în metoda playVideo care să folosească conceptul de closures pentru a
stoca în memorie numărul de pixeli din fiecare cadru
La primul apel pentru un anumit cadru, vei apela metoda getFrameFromDatabase pentru a extrage numărul din baza de date
însă, la următorul apel pentru același cadru, trebuie să returnezi numpărul de pixeli încărcat anterior
fără a mai apela metoda getFrameFromDatabase încă o dată
*/
const playVideo = () => {
};
const getFrameFromDatabase = (frame) => {
return Math.floor(Math.random() * frame * 10000);
}
const MediaPlayer = playVideo();
console.log(MediaPlayer(2));
console.log(MediaPlayer(4));
console.log(MediaPlayer(2));