Como resolver uma promessa várias vezes?
Pode parecer estranho, mas estou procurando uma maneira de resolver uma promessa várias vezes. Existem abordagens para tornar isso possível?
Pense no seguinte exemplo:
getPromise() {
const event = new Event('myEvent');
setTimeout(() => {
window.dispatchEvent(event);
}, 5000);
setTimeout(() => {
window.dispatchEvent(event);
}, 7000);
return new Promise((resolve) => {
window.addEventListener('myEvent', () => {
resolve('some value'));
});
resolve('some value'));
});
};
E então .then ():
getPromise().then(data => {console.log(data)})
Deve dar o seguinte resultado:
some value // initial
some value // after 5000ms
some value // after 7000ms
Então, eu sei que existem bibliotecas para transmitir dados, mas estou realmente procurando uma abordagem nativa que não seja de callbak para conseguir isso.