JavaScript - request封装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript - request封装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1963字,纯文字阅读大概需要3分钟。
内容图文
request封装——微信小程序使用async,await
ES5
参考代码
var request = function(param){
var _this = this;
$.ajax({
type : param.method || 'get',
url : param.url || '',
dataType : param.type || 'json',
data : param.data || '',
success : function(res){
// 请求成功
if(0 === res.status){
typeof param.success === 'function' && param.success(res.data, res.msg);
}
// 没有登录状态,需要强制登录
else if(10 === res.status){
_this.doLogin();
}
// 请求数据错误
else if(1 === res.status){
typeof param.error === 'function' && param.error(res.msg);
}
},
error : function(err){
typeof param.error === 'function' && param.error(err.statusText);
}
});
}
ES6——promise
这里以微信小程序开发为例,jquery同理
// request.js
export const request = (params) => {
const baseUrl = 'https://api.com';
return new Promise((resolve, reject) => {
wx.request({
...params,
url: baseUrl + params.url,
success: (result) => {
resolve(result);
},
fail: (err) => {
reject(err);
}
})
})
}
考虑到加载图标
// 同时发送异步请求的次数
let ajaxTimes = 0;
export const request = (params) => {
ajaxTimes ++;
// 加载图标
wx.showLoading({
title: '加载中',
mask: true
});
const baseUrl = 'https://api.com';
return new Promise((resolve, reject) => {
wx.request({
...params,
url: baseUrl + params.url,
success: (result) => {
resolve(result.data.message);
},
fail: (err) => {
reject(err);
},
complete: () => {
ajaxTimes --;
if(ajaxTimes === 0) {
wx.hideLoading();
}
}
})
})
}
使用前需要引入request.js文件(更换为自己的文件目录)
import { request } from "../../request.js";
使用promise的then方法获取数据
getData() {
request({url: '/dataUrl'})
.then((result) => {
……
},(err) => {
……
})
}
ES7——async,await
注意:使用async,await必须建立在promise的基础上,所以还要用到上面的ES6——promise所述内容
微信小程序支持ES7
1.下载runtime.js文件到自己的项目文件夹
2.在所有用到async,await的文件都要引入
import regeneratorRuntime from "../../lib/runtime/runtime.js";
使用async,await
async getData() {
const result = await request({url: '/dataUrl'});
……
}
原文:https://www.cnblogs.com/lwlblog/p/12346215.html
内容总结
以上是互联网集市为您收集整理的JavaScript - request封装全部内容,希望文章能够帮你解决JavaScript - request封装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。