jsonp with elegent Promise API.
npm install pjsonp --saveconst pjsonp = require('path/to/pjsonp')
const url = 'http://jsfiddle.net/echo/jsonp/'
const params = {
beep: 'boop',
yo: 'dawg'
}
const options = {
timeout: 1,
name: 'namedCb'
}
pjsonp(url, params, options)
.then(data => {
/* deal with the data you just fetched! */
})
.catch(err => {
/* timeout err by default */
})url: url to fetch data. It should look likehttp://somehostname[:someport]/to/some/path[?with=true&orWithoutQueries=false]params(optional): an plain object that contains parameters. Considering jsonp is all about 'GET', promise-jsonp will parse them intourlfor you. But if you don't have parameters or have enclosed them inurl, that's fine. Just ignoreparams.options(optional, but you can't just provideparamswithoutoptions):prefix: prefix of jsonp callback function. Default:__jp.timeout: literal meaning. Default:60000, in milliseconds.name: the name of callback function. If set,prefixwould be invalid. Default:undefined.param: name of the query string parameter to specify the callback. Default:callback.
Test with Jest. Run npm run test.
Due to some unknown problems, I can't test it with Jest. So I wrote a .html to test it in browsers manually. Anyone knows why Jest just won't work?
MIT