中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-17 22:35:22 來源:腳本之家 閱讀:158 作者:lqh 欄目:web開發

微信小程序 封裝http請求

最近看了一下微信小程序,大致翻了一下,發現跟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(){

})

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

益阳市| 肇源县| 广南县| 上林县| 文安县| 英吉沙县| 乌鲁木齐市| 射阳县| 五河县| 清流县| 商河县| 疏附县| 卓尼县| 中宁县| 蒲城县| 资阳市| 准格尔旗| 甘孜县| 武陟县| 海兴县| 确山县| 宾阳县| 库尔勒市| 尚志市| 登封市| 美姑县| 遂宁市| 左贡县| 久治县| 安宁市| 枝江市| 泰来县| 肥乡县| 柯坪县| 鄄城县| 上犹县| 榆社县| 灵武市| 武陟县| 广河县| 全南县|