jsonp with elegent Promise API.
npm install pjsonp --save
const 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 intourl
for 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 provideparams
withoutoptions
):prefix
: prefix of jsonp callback function. Default:__jp
.timeout
: literal meaning. Default:60000
, in milliseconds.name
: the name of callback function. If set,prefix
would 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