美文网首页
基于jsonp 做一层promise封装

基于jsonp 做一层promise封装

作者: 菲龍探雲 | 来源:发表于2017-06-12 15:44 被阅读84次

https://github.com/webmodules/jsonp

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(data)
        }
      })
    }
  )
}

function param(data) {
  let url = ''
  for (var k in data) {
    let value = data[k] !== undefined ? data[k] : ''
    url += `&{k}=${encodeURIComponent(value)}`
  }
  return url ? url.substring(1) : ''
}

相关文章

网友评论

      本文标题:基于jsonp 做一层promise封装

      本文链接:https://www.haomeiwen.com/subject/iqblqxtx.html