使用promise解决函数回调地狱
编写一个函数用来调取数据:
let baseUrl = 'https://api.shop.eduwork.cn';
return new Promise((resolve,reject)=>{
wx.request({
url: baseUrl + path,
method,
data,
header:{
Authorization:''
},
success:res=>{
resolve(res.data)
},
fail:err=>{
reject(err)
}
})
})
}
再将该函数导出
http
}
再编写一个调用该函数的函数并导出:
const { http } = require('./http')
const loginHttp = (path,data,method) => http(path,data,method)
module.exports = {
loginHttp
}
在需要用到该函数的js里调用:
const { loginHttp } = require('../../http/api')
在onload里使用:
.then(res=>{
console.log(res)
})
.catch(err=>{
console.log(err)
console.log('渲染页面')
})
使用promise获取的数据可以用.then来获取
console.log(res)
})
也可以在出现问题时使用.catch使页面不报错并展示出错时的页面:
console.log(err)
console.log('正常渲染页面')
})