本文主要是介绍微信小程序如何抽出model层,避免重复造轮子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天 学习小程序,需要抽出一些常用的方法,以免可以实现一处遍写,多处复用的目地。一般我们编写小程序都是在一个js文件中完成以下的请求
然后绑定数据。
var baseUrl = 'http://www.thinkphp50.com/index.php/api/v1';
wx.request({
url: baseUrl + '/banner/' + id,
header: { 'content-type': 'application/json'},
method: 'GET',
dataType: 'json',
success: function(res) {
this.setData()//这里省略
},
})
这个虽看似方便,但方法复用性差。
所以我们抽出了一个常用的方法,放到一个公共文件中,但wx.request方法都是异步的,这个就造成了,异步方法里的sueecss方法未返回数据,主调用方法
就调用完成了。
那有什么办法解决嘛?答案当然是有的,那就是用回调函数。
class Home{
constructor(){
}
getBannerDate(id,callback){
wx.request({
url: baseUrl + '/banner/' + id,
header: { 'content-type': 'application/json'},
method: 'GET',
dataType: 'json',
success: function(res) {
callback(res)
},
})
}
}
如上方法中,用回调callback方法返回值。
则在以下主调方法中,就可以拿到回调的res数据。
_loadData: function(){
var id= 1;
var data = home.getBannerDate(id,(res)=>{
console.log( 123456789);
console.log(res);
});
},
至此,就可以愉快的继续编程了
这篇关于微信小程序如何抽出model层,避免重复造轮子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!