vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
28 lines (27 loc) • 759 B
JavaScript
import { loadResource, LoadResourceUrlType } from "./loadResource.js";
var i = 0;
/**
* 发起 jsonp 请求。
*
* @param url 请求地址
* @param keyOfCallbackName 回调函数名的键
*/
export function jsonp(url, keyOfCallbackName) {
if (keyOfCallbackName === void 0) {
keyOfCallbackName = 'callback';
}
return new Promise(function (resolve, reject) {
var callbackName = "__vtils_jsonp_callbacks__" + i++;
window[callbackName] = function (result) {
resolve(result);
delete window[callbackName];
};
var _url = new URL(url);
_url.searchParams.set(keyOfCallbackName, callbackName);
url = _url.toString();
loadResource({
path: url,
type: LoadResourceUrlType.js
}).catch(reject);
});
}