国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序 封裝http請求實例詳解

2024-07-22 01:16:40
字體:
來源:轉載
供稿:網友

微信小程序 封裝http請求

最近看了一下微信小程序,大致翻了一下,發現跟angular很相似的,但是比angular簡單的很多具體可參考官方文檔

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

下面將封裝http請求服務部分的服務以及引用部分

// 本服務用于封裝請求// 返回的是一個promisepromisevar 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(){})            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平阴县| 柳州市| 靖安县| 桃江县| 家居| 甘南县| 云安县| 吉木乃县| 山阴县| 咸宁市| 大港区| 峨眉山市| 当阳市| 大田县| 罗平县| 农安县| 台州市| 蓝田县| 朝阳区| 廊坊市| 沙坪坝区| 阳西县| 库车县| 隆回县| 鹿泉市| 岳阳县| 汶上县| 阿合奇县| 白山市| 津市市| 阿坝县| 阿巴嘎旗| 文昌市| 兰州市| 阳谷县| 蒲江县| 获嘉县| 衢州市| 安庆市| 昆山市| 淳安县|