Skip to content
Only keep a single instance, `.abort()`ing previous instances on subsequent calls
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE.md
README.md
index.js
package.json
test.js

README.md

auto-abort

Only keep a single instance, aborting previous instances on subsequent calls

Install

npm install auto-abort

Usage

var autoAbort = require('auto-abort')
var autoXhr = autoAbort(require('xhr'))

autoXhr({url: '/autocomplete', json: {q: 'hel'}}, handleResponse)
autoXhr({url: '/autocomplete', json: {q: 'hell'}}, handleResponse)
autoXhr({url: '/autocomplete', json: {q: 'hello'}}, handleResponse)

function handleResponse (err, data, res) {
  // Should only be called once, with the most recent request
}

API

autoAbort(fn, [abortHandler])

Wraps fn with a function that will only keep a single instance of whatever fn returns around, calling .abort() on the previous instance before calling fn again. If you need to call another function than .abort(), use the abortHandler.

fn

Type: Function

The function to wrap. Examples being xhr and d3.json

abortHandler

Type: Function
Default: function (instance) { return instance.abort() }

Allows you to abort the instance manually, eg. if you need to do some other logic around it or have an abort function of another name, eg. .cancel() like on requestAnimationFrame

License

ISC

You can’t perform that action at this time.