I am trying to understand how promises work
let promise = new Promise( (resolve, reject) => {
alert("started");
let num = 0;
let interval = setInterval(() => {
alert(`state ${num}`);
num += 2;
if (num > 4) {
clearInterval(interval);
alert("finished");
resolve()
}
}, 1000)
});
promise.then(alert('resolved'))
By some reason i see immediately alerts started, resolved
and then, with interval 1sec state 0, state 2, state 4 and finished.
Why promise resolves instantly?
How to prevent promise from resolve until resolve() executed directly?