const myajax = (obj = { url, headers, timeout, method, dataType, data, success, fail, complete }) => {
if (typeof obj.url != "undefined" && typeof obj.url != 'string') throw new TypeError('url不是string类型');
if (typeof obj.headers != "undefined" && typeof obj.headers != "object") throw new TypeError('headers不是object类型');
if (typeof obj.timeout != "undefined" && typeof obj.timeout != 'number') throw new TypeError('timeout不是number类型');
if (typeof obj.method != "undefined" && typeof obj.method != 'string') throw new TypeError('method不是nstring类型');
if (typeof obj.dataType != "undefined" && typeof obj.dataType != 'string') throw new TypeError('dataType不是string类型');
if (typeof obj.data != "undefined" && typeof obj.data != 'object' && !ArrayBuffer.isView(obj.data)) throw new TypeError('data不是object类型或者ArrayBuffer');
if (typeof obj.success != "undefined" && typeof obj.success != 'function') throw new TypeError('success不是function类型');
if (typeof obj.fail != "undefined" && typeof obj.fail != 'function') throw new TypeError('fail不是function类型');
if (typeof obj.complete != "undefined" && typeof obj.complete != 'function') throw new TypeError('complete不是function类型');
return new Promise((resolve, reject) => {
my.request({
url: devUrl + obj.url,
method: obj.method || 'GET',
dataType: obj.dataType || 'json',
headers: obj.headers || null,
timeout: obj.timeout || 30000,
data: obj.data || null,
success: (res) => {
if (typeof obj.success == 'function') {
obj.success(res);
}
},
fail: (res) => {
reject(res);
if (typeof obj.fail == 'function') {
obj.fail(res);
}
},
complete: function (res) {
if (typeof obj.complete == 'function') {
obj.complete(res);
}
}
});
})
}
使用实例
api.myajax({
url: "/findUserById",
method: "GET",
headers: {
'content-type': 'application/json'
},
dataType: "json",
data: {
"id": "2"
},
success: function (res) {
console.log("success:", res);
console.log("data:", res.data);
that.setData({
msg: res.data.data.name
});
},
fail: function (res) {
console.log("fail:", res);
console.log("fail:", res.data);
}
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律