最近看了一下微信小程序,大致翻了一下,发现跟angular很相似的,但是比angular简单的很多具体可参考官方文档

https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.html?t=2017112

下面将封装http请求服务部分的服务以及引用部分

// 本服务用于封装请求
// 返回的是一个promisepromise var sendRrquest = function (url, method, data, header) {
var promise = new Promise(function (resolve, reject) {
wx.request({
url: url,
data: data,
method: method,
header: header,
success: resolve,
fail: reject
})
});
return promise;
}; module.exports.sendRrquest = sendRrquest

在utils文件中创建文件requestService.js文件

下边是在page.js文件中引用部分代码

// 界面一般通过使用Page函数注册一个界面,接收一个Object对象,该对象指定了初始化数据/生命周期函数函数/事件处理函数
// data 存放页面初始化数据数据,类似angular的的$scope
// onLoad 生命周期函数 监听页面加载
// onReady 生命周期函数 监听页面首次渲染完成完成
// onShow 生命周期函数 监听界面显示
// onHide 生命周期函数 监听界面隐藏
// onUnload 生命周期函数 监听页面卸载
// onPullDownRefresh 页面相关事件 监听用户下拉事件
// onReachBottom 页面上拉到达底部触发的事件
// onShareAppmessage 点击左上方分享事件 var testService = require('../../utils/testService.js')
var request = require('../../utils/requestService.js')
Page({
data:{
test:'123',
positionlist:[]
},
onLoad:function(){ },
onReady: function () {
var that = this;
testService.test('a');
testService.agerntest('a');
var url = 'https://webapi.tianjihr.com/position/searcher?sort=-refresh_time&offset=10&limit=10';
request.sendRrquest(url, 'GET', {}, {})
.then(function (response) {
that.setData({
positionlist:response.data.list
});
console.log(response);
}, function (error) {
console.log(error);
});
},
onPullDownRefresh: function () { },
onShareAppMessage: function () {
// 微信分享需要的配置参数
return {
title: '自定义分享标题',
desc: '自定义分享描述',
path: '/page/user?id=123'
}
// console.log(1);
}
});

上边的代码和js代码有不同的代码需要注意

1.异步处理方式改变

原有方式是:

var promise = new Promise();
promise.resolve('成功');
promise.reject('失败');
return promise;

现有的方式:

return new Promise(function (resolve, reject) {
resolve('成功');
reject('失败');
})

2.在promise成功或者失败的回调中不能直接赋值,如:

var that = this;
test()
.then(function(){
that.data.test='';
},function(){ })

需要使用如下方式:

var that = this;
test()
.then(function(){
that.setDatat={
test:123
};
},function(){ })

最新文章

  1. 和 Thrift 的一场美丽邂逅
  2. mac os 下搭建android开发环境
  3. BestCoder Round #87 1003 LCIS[序列DP]
  4. 【C++实现python字符串函数库】一:分割函数:split、rsplit
  5. java历史集合类对比
  6. hdu 4658 Integer Partition
  7. 3月下旬剩余poj题解
  8. 打开已存在 Android项目及常见的问题
  9. Leetcode:unique_binary_search_trees
  10. SSH整合创建SessionFactory
  11. Java8新特性之二:方法引用
  12. 16.4-uC/OS-III同步 (任务信号量)
  13. Centos7下编译CDH版本hadoop源码支持Snappy压缩
  14. JavaScript条件和循环以及异常处理
  15. Android:使用 DownloadManager 进行版本更新
  16. Matlab基本用法
  17. 你可能不知道的shell、bash二三事(Centos 7)
  18. 从IC设计业看中国企业之发展
  19. laravel controller重写
  20. php扩展swoole的安装

热门文章

  1. AI 人工智能 探索 (三)
  2. Android.mk与jni目录的关系
  3. 更方便的函数回调——Lambda
  4. Node.js学习 - CallBack Function
  5. HDU - 5753 多校联萌3-2
  6. Java 多态,重载,重写
  7. 让shell 变得容易理解
  8. Java 六种异常处理的陋习(转)
  9. [转]JSON详解
  10. gnu make