Only keep a single instance, aborting previous instances on subsequent calls
npm install auto-abortvar 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
}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.
Type: Function
The function to wrap. Examples being xhr and d3.json
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