Skip to content

Commit 3788dce

Browse files
Balashov NikitaOlegLustenko
authored andcommitted
homework-13
1 parent 33fbcd6 commit 3788dce

File tree

2 files changed

+119
-0
lines changed

2 files changed

+119
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Home work 13</title>
6+
</head>
7+
<body>
8+
9+
<script src="src/main.js"></script>
10+
</body>
11+
</html>
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/*
2+
* TASK - 2
3+
*
4+
* Перепишите Homework 12 - TASK 1 используя class
5+
*
6+
* */
7+
class Human{
8+
constructor(object) {
9+
this.name = object.name;
10+
this.age = object.age;
11+
this.gender = object.gender;
12+
this.height = object.height;
13+
this.weigth = object.weigth;
14+
}
15+
}
16+
17+
class Worker extends Human{
18+
constructor(object) {
19+
super(object);
20+
this.company = object.company;
21+
this.salary = object.salary;
22+
}
23+
24+
toWork() {
25+
return 'work';
26+
}
27+
}
28+
29+
class Student extends Human{
30+
constructor(object) {
31+
super(object);
32+
this.university = object.university;
33+
this.grants = object.grants;
34+
}
35+
36+
toWatchSeries() {
37+
return`watch tv series`;
38+
}
39+
}
40+
41+
let vasya = new Worker({name: 'Vasya', age: '30', gender: 'Male', height: '1.8 m', weigth: '80 kg', company: 'qwerty', salary: '007'});
42+
console.log(vasya);
43+
console.log(vasya.toWork());
44+
45+
let sasha = new Student({name: 'Sasha', age: '18', gender: 'Male', height: '1.8 m', weigth: '70 kg', university: 'ytrewq', grants: '700'});
46+
console.log(sasha);
47+
console.log(sasha.toWatchSeries());
48+
49+
/*
50+
* Вы должны создать имитацию медленной базы данных.
51+
* TASK - 1 Сделайте Класс Database с методами
52+
*
53+
* query
54+
*
55+
* При запуске метода query запустите внутренний таймаут, который будет длиться 5 секунд.
56+
* При поступлении еще 1 запроса(если вызвать метод еще раз),
57+
* таймаут должен стартануть сначала
58+
* и ответ должен прийти снова через 5 секунд
59+
*
60+
* */
61+
62+
class DataBase {
63+
constructor() {}
64+
65+
counter(){
66+
let number = 5;
67+
this.id = setInterval(() => {
68+
console.log(number);
69+
70+
if(number <= 1) {
71+
clearInterval(this.id);
72+
console.log('The web server is down');
73+
}
74+
75+
number--;
76+
}, 1000);
77+
}
78+
79+
query() {
80+
clearInterval(this.id);
81+
this.counter();
82+
}
83+
}
84+
85+
const dataBase = new DataBase();
86+
dataBase.query();
87+
// // 5
88+
// // 4
89+
// // 3
90+
// // 2
91+
// // 1
92+
// // console.log('The web server is down') https://www.youtube.com/watch?v=W8_Kfjo3VjU
93+
94+
// dataBase.query();
95+
// // 5
96+
// // 4
97+
// dataBase.query();
98+
// // 5
99+
// // 4
100+
// // 3
101+
// // 2
102+
// dataBase.query();
103+
// 5
104+
// 4
105+
// 3
106+
// 2
107+
// 1
108+
// console.log('The web server is down')

0 commit comments

Comments
 (0)