jsonp promise 封裝

abcByme發表於2018-08-29
import originJsonp from `jsonp`

export default function jsonp(url, data, option) {
  url += (url.indexOf(`?`) < 0 ? `?` : `&`) + param(data)

  return new Promise((resolve, reject) => {
    originJsonp(url, option, (err, data) => {
      if (!err) {
        resolve(data)
      } else {
        reject(err)
      }
    })
  })
}

export function param(data) {
  let url = ``
  for (var k in data) {
    let value = data[k] !== undefined ? data[k] : ``
    url += `&` + k + `=` + encodeURIComponent(value)
    // url += `&${k}=${encodeURIComponent(value)}` //都不需要拼接+了
  }
  return url ? url.substring(1) : ``
}

 

相關文章