- Promise:简洁代码
onReady: function () {
let promise = new Promise((resolve,reject) => {
wx.request({
url: '',
header:{
appkey:""
},
success:(res)=>{
resolve(res)
}
})
})
promise.then((res)=>{
console.log(res)
})
},
解决问题:
(1)异步嵌套 (回调函数中又需要进行异步操作)
回调地狱:过多回调的次数
success:(res)=>{
console.log(this.data.test)
wx.request({
success:(res)=>{
wx.request({
success:(res)=>{
}
})
}
})
}
(2)解决异步回调剥夺的return能力
- 封装
(1)新建config.js文件
export后可以被其他模块导入
//1.每个分别引用
export const config={},
export fun1=function(){}
//2.最后整体引用
export {config,fun1} //as可改变名字
导入文件
import{config} from '/config.js' //文件路径
import{config as config1} from '/config.js' //改为config1
import{config,fun1} from '/config.js'
(2)选择配置选项:url\appkey
const:声明固定不变的量
- Http类封装
状态码4XX错误:success处理
使用startsWith、endsWith
let code=res.statusCode.toString()
if(code.startsWith('4')){}
- 正确处理用户反馈
//提示信息自定义
const tips={
1005:'appkey无效',
3000:'期刊不存在'
}