最近在做app的时候,由于后面的接口越来越多,这就涉及到接口的封装了
我自己的话封装了一个mui的ajax请求,执行都没问题,接口也能走通。就是
在页面上获取接口数据的时候,返回undefined。
分析原因:
ajax默认是异步请求,所以当我们在打印的时候,就会是undefined。这种情况的
话,就需要用到promise了。
这是原创作者的链接,分享给大家:
https://ask.dcloud.net.cn/article/38776
上源码
新建js文件
const { ajax } = mui
function getAjax(url, data, methods) {
return new Promise((res, rej) => {
mui.ajax(url, {
data: data,
dataType: 'json', // 服务器返回json格式数据
type: methods, // HTTP请求类型
timeout: 10000, // 超时时间设置为10秒;
headers: {
'Content-Type': 'application/json',
'Authorization': getCookie('token')
},
success: function(data) {
res(data)
},
error: function(xhr, type, errorThrown) {
rej(errorThrown)
}
});
})
}
页面上调用
let vehicleNo = getAjax("你的url", {}, "post")
vehicleNo.then(myData => {
//myData即为获取到的数据
console.log(myData);
});
以上就是mui ajax 封装成Promise解决方法了
如果这篇文章对你有帮助,或者在进行中遇到其他问题,欢迎评论区留言出来。
我们一起探讨~