jsonp封装成promise

Posted zhx119

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonp封装成promise相关的知识,希望对你有一定的参考价值。

首先将jsonp通过npm 安装引入js文件中,代码如下

import originJsonp from ‘jsonp‘

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

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.substring(1)是因为上面拼接url字符串的时候做判断的时候会加&所以从1开始拷贝字符串
return url ? url.substring(1) : ‘‘
}
























以上是关于jsonp封装成promise的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

VsCode 代码片段-提升研发效率

20promise与ajax jsonp

简谈promise封装

THE PROMISING LAND OF JSONP

基于promise和script标签的jsonp