checkWinner(id) {
console.log(typeof id)
console.log(id)
console.log(typeof{[id]: Math.max(...Object.values(this.state))})
console.log({[id]: Math.max(...Object.values(this.state))})
return this.setState(state => {
return JSON.stringify({
[id]: Math.max(...Object.values(state))
})
})
}
checkWinner(id) {
console.log(typeof id)
console.log(id)
console.log(typeof{[id]: Math.max(...Object.values(this.state))})
console.log({[id]: Math.max(...Object.values(this.state))})
return this.setState(state => {
return JSON.stringify({
[id.toString()]: Math.max(...Object.values(state))
})
})
}
function checkTicketsAvailable(data, time, numOfTicketBooked,number,food,format) {
console.log('Выбираем билет...');
return new Promise((resolve, reject) => {
setTimeout(() => {
const setsAvailable = seats[data][time].freeSeats.length;
if (setsAvailable >= numOfTicketBooked) {
resolve(setsAvailable);
} else {
reject(`Мест на ${data} в ${time} нет`)
}
},2000);
})
.then(() => {
console.log('Бронируем билеты...');
return new Promise((resolve, reject) => {
setTimeout(() => {
const checkFreeSeats = number.every((el) => seats[data][time].freeSeats.includes(el))
if (checkFreeSeats === true) {
resolve(checkFreeSeats)
} else {
reject(`На ${data} в ${time} места ${number} занято`)
}
},1500)
})
})
.then(() => {
console.log('Проверяем можно ли в зал с едой...');
return new Promise((resolve) => {
setTimeout(() => {
if (food === true) {
console.log(`Сеанс ${data} в ${time} с едой можно`);
} else {
console.log(`Сеанс ${data} в ${time} с едой к сожалению нельзя`);
}
resolve(food);
},3000)
})
})
.then(() => {
console.log('Выбираем формат фильма...');
return new Promise((resolve) => {
setTimeout(() => {
if (format === true) {
console.log(`Сеанс ${data} в ${time} будет в формате 3D`);
} else {
console.log(`Сеанс ${data} в ${time} будет в формате 2D`);
}
resolve(format);
},4000)
})
})
}
async function bookTickets(data, time, numOfTicketBooked,number,food,format) {
try {
const availableSeats = await checkTicketsAvailable(data, time, numOfTicketBooked,number,food,format);
console.log(`Вы забронировали на ${data}, ${numOfTicketBooked} билетов на ${time}, ваши места ${number}`)
} catch (error) {
console.log(error)
} finally {
console.log('Спасибо что выбрали наш кинотеатр !')
}
}
bookTickets('2023-02-17','15:00',3,['11', '21','50'],false,false);