import { BnumPromise } from './js/BnumPromise.js';
let timeout = null;
let promise = new BnumPromise((manager) => {
manager.resolver.start();
timeout = setTimeout(() => {
if (manager.state() === BnumPromise.PromiseStates.cancelled) return;
document.querySelector('#layout').innerHTML = 'Ajouter !';
manager.resolver.resolve(true);
}, 5000);
});
promise.onAbort.push(() => {
clearInterval(timeout);
document.querySelector('#layout').innerHTML = 'Annuler !';
});
document
.querySelector('#stopbutton')
.addEventListener('click', () => promise.abort());
promise.start();
let it = 0;
BnumPromise.Start(async (manager) => {
while (true) {
if (promise.isResolved() || promise.isCancelled()) break;
else await BnumPromise.Sleep(100);
document.querySelector('#count').innerHTML = `${++it}`;
}
document.querySelector('#stopbutton').remove();
it = null;
promise = null;
});