ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
我们知道,jsnop是解决跨域最常用的手段之一,通常我们使用的话,也就是直接npm上搜索一个jsnop的库直接开始使用。比如github上面星星比较多的: https://github.com/webmodules/jsonp 今天来手写一个jsnop实现: 工作中,我们常常会对jsnop库进行promis的封装,like this: ``` 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) } return url ? url.substring(1) : '' } ``` `