Правильный ли вот такой подход, когда нужно чего-то дождаться и затем продолжить выполнение
`visible = false;
lookAround = new Promise(observer);
function observer(resolve) {
if (visible) {
resolve("done!");
return;
}
setTimeout(observer, 200, resolve);
}
setTimeout( () => visible = true, 3000);
lookAround
.then( () => console.log("I see you!") )
.then( () => console.log("Next turn") );`
правильным был бы подход, при котором ты бы завернул setTimeout в промис.
Тогда бы после setTimeout ты бы гарантированно что-то сделал.
Например:
а потом просто
const delay = ms => new Promise(resolve => setTImeout(resolve, ms))
delay(3000)
.then(() => console.log())
.then(() => console.log())
То есть ты преимущества промисов опять откатываешь в века колбэков