微信小程序的请求接口
1.RequestTask wx.request(Object object)
wx.request不支持以promise调用,所以想要用poromise得自己封装调用。
微信小程序的请求api官方范文
wx.request({
url: 'example.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
}
})
2.用promise封装微信请求
let dev = null; //开发环境的域名
let online = null;//上线后的域名
//创建一个常量用来接收Promise url:请求路径,options:传入的参数jie'h
const request=(url,options)=>{
//返回一个pormise结果
return new Promise((resolve,reject)=>{
//调用wx.request请求
wx.request({
url: `${dev+url}`,//请求路径
method:`${options.method}`,//请求方式
//判断参数是否需要转型
data: options.method === 'GET' ? options.data: JSON.stringify(options.data),
header: {//请求头
'content-type': 'application/json' // 默认值
},
success(res){//接口调用成功的回调函数
// console.log(res);
if(res.data.code === 200){//判断后端接口的状态码
resolve(res.data);//返回一个解析过的promise对象
}else{
reject(res.data)//返回一个带有拒绝原因的promise对象
}
},
fail(error){//接口调用失败的回调函数
reject(error.data);
}
})
})
}
//get请求
const get= (url, options = {})=>{
return request(url,{method:'GET' , data:options})
}
//post请求
const post= (url, options = {})=>{
return request(url,{method:'POST' , data:options})
}
//put请求
const put= (url, options = {})=>{
return request(url,{method:'PUT' , data:options})
}
//DELETE请求
const remove= (url, options = {})=>{
return request(url,{method:'DELETE' , data:options})
}
//把方法暴露出去
module.exports = {
get,
post,
put,
remove
}
\