cancel-token
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

CancelToken and Cancel Polyfill

This a polyfill of the polyfillable parts of the proposed cancellable promises spec.

See https://github.com/littledan/proposal-cancelable-promises for more details.

Use

import {CancelToken} from 'cancel-token';
 
const source = CancelToken.source();
 
const result = someCancellableApi(source.token);
 
eventSource.on('dont-care-about-result-anymore', () {
  source.cancel();
});
 
// This may throw a Cancel if we called source.cancel().
const value = await result;
 
 
// Elsewhere, maybe in another library
async function someCancellableApi(cancelToken) {
  await doSomeWork(cancelToken);
 
  // I'm outside of a critical section here, so it's ok if I were to throw.
  cancelToken.throwIfRequested();
 
  return doSomeMoreWork(cancelToken);
}

Developing

To test:

npm test

To watch source files and rerun tests when they change:

npm test:watch

Package Sidebar

Install

npm i cancel-token

Weekly Downloads

5,431

Version

0.1.1

License

BSD-3-Clause

Last publish

Collaborators

  • aomarks
  • emarquez
  • sorvell
  • bicknellr
  • usergenic
  • polymer-devs
  • azakus
  • kevinpschaaf
  • justinfagnani