基于jsonp 做一层promise封装

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) : ''
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,596评论 2 45
  • 俗话说得好,一屋不扫,何以扫天下? 但是一个屋子就包括了很多清洁程序,天天收拾也挺烦人。 就算不烦人也是不必要的占...
    静水一一阅读 340评论 0 0
  • 最近迷茫的想换工作,每当面试官问为啥换工作的时候,我都不知道怎么说。几次下来之后,分析原因是因为我没有目标,在需要...
    业余码农阅读 219评论 0 0
  • 看到特别多人回忆 自己也在回忆 为什么会回忆 大概是现在过得没有以前好 没有新的经历去取代过去 我希望未来不会这样
    68dcc05e8e38阅读 156评论 0 0
  • 姓名:冯健 305A期学员 【日精进打卡第4天】 一、【知~勤学】 ①持诵 《六项精进》背诵5遍总17遍 《大学开...
    冯jian阅读 186评论 0 0