basic-xhr
The barest-bones wrapper for XHR in the cases where I want to use XHR
Last updated 3 years ago by tehshrike .
WTFPL · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install basic-xhr 
SYNC missed versions from official npm registry.

The bare-bones XMLHttpRequest wrapper that I use when I want to use XHR.

Set up some options, make a request, get back a promise.

Requires ES2015 shims (Promise, Object.assign, Object.keys).

API

const createRequestFunction = require('basic-xhr')

The module exports a function that takes options and returns a re-usable XHR function.

makeXhr = createRequestFunction(options)

const get = createRequestFunction()

get('/some/nifty/api?cool=yes').then(responseBody => {
	console.log(responseBody.valueFromServer)
})

Options

  • method: string, defaults to 'GET'
  • success: function, defaults to request => request.status >= 200 && request.status < 400
  • parse: function, defaults to request => JSON.parse(request.responseText)
  • serialize: function, defaults to body => JSON.stringify(body)
  • headers: object, defaults to {}

promise = makeXhr(url, body)

Returns a promise that is rejected if success returns false, if the XHR emits error or abort, or if the parse function throws.

The promise is resolved with whatever parse returns.

Snippets you can copy/paste

const createRequestFunction = require('basic-xhr')

const post = createRequestFunction({
	method: 'POST',
	headers: {
		'Content-Type': 'application/json'
	}
})

const response = post('/person', { name: 'Cool guy' })

If you have any common use cases, add a new snippet here.

License

WTFPL

Current Tags

  • 1.0.0                                ...           latest (3 years ago)

1 Versions

  • 1.0.0                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 0
Last Month 1
Dependencies (0)
None
Dev Dependencies (0)
None
Dependents (1)

Copyright 2014 - 2017 © taobao.org |