免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動推薦你的品牌,搶占AI流量入口!  點擊查看

小程序模板網

微信小程序初體驗--封裝http請求

發(fā)布時間:2017-11-23 17:54 所屬欄目:小程序開發(fā)教程

最近看了一下微信小程序,大致翻了一下,發(fā)現(xiàn)跟angular很相似的,但是比angular簡單的很多具體可參考官方文檔https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.htm ...

 

最近看了一下微信小程序,大致翻了一下,發(fā)現(xiàn)跟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文件中創(chuàng)建文件requestService.js文件

下邊是在page.js文件中引用部分代碼

 
// 界面一般通過使用Page函數(shù)注冊一個界面,接收一個Object對象,該對象指定了初始化數(shù)據/生命周期函數(shù)函數(shù)/事件處理函數(shù)
// data 存放頁面初始化數(shù)據數(shù)據,類似angular的的$scope
// onLoad 生命周期函數(shù) 監(jiān)聽頁面加載
// onReady 生命周期函數(shù) 監(jiān)聽頁面首次渲染完成完成
// onShow  生命周期函數(shù) 監(jiān)聽界面顯示
// onHide 生命周期函數(shù) 監(jiān)聽界面隱藏
// onUnload  生命周期函數(shù)  監(jiān)聽頁面卸載
// onPullDownRefresh  頁面相關事件 監(jiān)聽用戶下拉事件
// onReachBottom 頁面上拉到達底部觸發(fā)的事件
// 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 () {
        // 微信分享需要的配置參數(shù)
        return {
            title: '自定義分享標題',
            desc: '自定義分享描述',
            path: '/page/user?id=123'
        }
        // console.log(1);
    }
});
 

 

上邊的代碼和js代碼有不同的代碼需要注意

1.異步處理方式改變

原有方式是:

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

現(xiàn)有的方式:

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(){

})
 


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.szcjxy.com/wxmini/doc/course/17947.html 復制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點擊咨詢
在線客服