Skip to content

Only keep a single instance, `.abort()`ing previous instances on subsequent calls

License

Notifications You must be signed in to change notification settings

emilbayes/auto-abort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Only keep a single instance, `.abort()`ing previous instances on subsequent calls

Resources

License

Stars

Watchers

Forks

Packages

No packages published