poll-js

Wrap async requests and make them repeatable

Usage no npm install needed!

<script type="module">
  import pollJs from 'https://cdn.skypack.dev/poll-js';
</script>

README

poll-js Build Status npm version

Installation

Using npm: npm install poll-js

Using yarn: yarn add poll-js

Usage

import { pollWrapper } from 'poll-js';

const { future, cancel } = pollWrapper({
  request: fetch('github.com'),
  pollingPeriod: 1000 // ms,
  shouldStop: response => response.status === 200 
});

future
  .then(response => {...})
  .catch(error => {...})

// If by some reason you want to abort polling
cancel();  

API

.pollWrapper({request, pollingPeriod, shouldStop})

Returns Promise and cancel function. cancel allows manually terminate polling.

request - Function that returns Promise
pollingPeriod - Time in ms after request rejection and new attempt to perform it
shouldStop - Function which determines a condition for polling termination.

License

MIT © 2018 Mikhail Katrin mikhailkatrin@gmail.com