vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
32 lines (30 loc) • 826 B
JavaScript
exports.__esModule = true;
exports.jsonp = jsonp;
var _loadResource = require("./loadResource");
var i = 0;
/**
* 发起 jsonp 请求。
*
* @param url 请求地址
* @param keyOfCallbackName 回调函数名的键
*/
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();
(0, _loadResource.loadResource)({
path: url,
type: _loadResource.LoadResourceUrlType.js
}).catch(reject);
});
}
;