Я пытаюсь сделать игру с использованием обещаний и вызывать их только по щелчку мыши (вниз и вверх), передавая состояние игры от первого обещания (А) до последнего (С), обновляя его. Если обещание B выполняется правильно, обещание C не выполняется вообще. Можно ли связать несколько промисов и выполнять их только при срабатывании события?
class A {
static draw() {
return new Promise((resolve) => {
const state = {name: 'Alex'};
resolve(state);
})
}
}
class B {
static draw(state) {
const div = document.querySelector('.app');
div.addEventListener('mousedown', () => {
return new Promise((resolve) => {
state.lastname = 'Johnson';
console.log('state with ln ' + state)
resolve(state);
})
})
}
}
class C {
static draw(state) {
const div = document.querySelector('.app');
div.addEventListener('mouseup', () => {
return new Promise((resolve) => {
state.age = '23';
console.log('state with age ' + state)
resolve(state);
})
})
}
}
A.draw()
.then(res => {
B.draw(res)
.then(res => C.draw(res))
})