Slide 24
Slide 24 text
Promise Cancellation
function timer(time, cancelled) {
let handle;
return new Promise((resolve, reject) => {
handle = setTimeout(resolve, time);
cancelled.then(() => clearTimeout(handle));
});
}
let cancel, cancelled = new Promise(resolve => cancel = resolve);
timer(5000, cancelled);
cancel();