0.1.2 • Published 9 years ago

jsonp-promise v0.1.2

Weekly downloads
853
License
MIT
Repository
github
Last release
9 years ago

jsonp-promise

A simple JSONP es6 implementation (inspired from https://github.com/webmodules/jsonp) which returns an object containing a promise, so it can be used by generators and async functions.

It's supposed to be used with an es6 module loader. Works great with jspm/systemjs for cross-browser compatibility.

Instalation

Install for node.js, browserify or jspm using npm:

$ npm install jsonp-promise

or

$ jspm install npm:jsonp-promise

API

###jsonp(url, options)

  • url (String) url to fetch
  • options (Object), optional
    • param (String) name of the query string parameter to specify the callback (defaults to callback)
    • timeout (Number) how long after the request until a timeout error is emitted. 0 to disable (defaults to 15000)
    • prefix (String) prefix for the global callback functions that handle jsonp responses (defaults to __jp)

Returns an object containing two properties:

  • promise a promise which will be resolved if the jsonp request succeeds, otherwise will be rejected
  • cancel a method which will cancel the request and reject the promise

If it times out or gets canceled, the promise will be rejected with an Error object.

// e.g.: get the latest javascript subrredits
async function getJson() {
    let data = await jsonp('http://www.reddit.com/r/javascript/top.json', {param: 'jsonp'}).promise;
    console.log(data.data.children);
}

License

MIT