微信小程序(五)封裝網(wǎng)絡(luò)請(qǐng)求

1.網(wǎng)絡(luò)請(qǐng)求

wx.request

1.請(qǐng)求banner數(shù)據(jù)

wx.request({
    url: 'https://www.wanandroid.com/banner/json',
    success:function(res){
        console.log("打印banner數(shù)據(jù):",res);
    }
})

2.請(qǐng)求登入

wx.request({
    url: 'https://www.wanandroid.com/user/login',
    method: "POST",
    data: {
        username: "XXX",
        password: "xxxxxx"
    },
    header:{
        'content-type':'application/x-www-form-urlencoded'
    },
    success: function(res) {
        console.log("打印登錄返回信息:", res);
    }
})

2.const、let、var的區(qū)別

  • const 聲明一個(gè)只讀的常量,一旦聲明,常量的值就不能改變。
  • let是塊級(jí)作用域,聲明的變量只在 let 命令所在的代碼塊內(nèi)有效。
  • var 關(guān)鍵字聲明的變量不具備塊級(jí)作用域的特性,它在 {} 外依然能被訪問(wèn)到。

2-1.let 和 var 的區(qū)別

1.全局和局部的作用域類(lèi)似。

2.塊級(jí)作用域不同:

{ 
    var x = 2; 
}
// 這里可以使用 x 變量
{ 
    let x = 2;
}
// 這里不能使用 x 變量

3.循環(huán)體作用域不同:

var i = 5;
for (var i = 0; i < 10; i++) {
    // 一些代碼...
}
// 這里輸出 i 為 10
let i = 5;
for (let i = 0; i < 10; i++) {
    // 一些代碼...
}
// 這里輸出 i 為 5

3.模塊化

模塊化

通過(guò)require 引入模塊,返回模塊通過(guò) module.exports 或 exports 暴露的接口。

// common.js
function sayHello(name) {
  console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {
  console.log(`Goodbye ${name} !`)
}

// 暴露接口
module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye
// 引入模塊 common.js
var common = require('common.js')
Page({
  helloMINA: function() {
    common.sayHello('MINA')
  },
  goodbyeMINA: function() {
    common.sayGoodbye('MINA')
  }
})

require() 返回的是module.exports 而不是exports。
注意:引入模塊的路徑只能是相對(duì)路徑。

4.Promise

Promise是一個(gè)對(duì)象,它代表了一個(gè)異步操作的最終完成或者失敗。

// 在回調(diào)中執(zhí)行一些操作(例如異步),如果一切都正常,則調(diào)用 resolve,否則調(diào)用 reject。
var promise = new Promise(function(resolve, reject) {
    // 異步處理
    // 處理結(jié)束后、調(diào)用resolve 或 reject
});

對(duì)于已經(jīng)實(shí)例化過(guò)的 promise 對(duì)象可以調(diào)用 promise.then() 方法,傳遞 resolve 和 reject 方法作為回調(diào)。

promise.then() 是 promise 最為常用的方法。

promise.then(onFulfilled, onRejected);
// promise簡(jiǎn)化了對(duì)error的處理,上面的代碼我們也可以這樣寫(xiě):
promise.then(onFulfilled).catch(onRejected);

5.wx.showToast

wx.showToast

icon

顯示消息提示框。

  • title:提示的內(nèi)容。
  • icon:圖標(biāo),默認(rèn)'success'
  • duration:提示的延遲時(shí)間,默認(rèn)1500。

6.wx.showLoading

wx.showLoading

顯示 loading 提示框。需主動(dòng)調(diào)用 wx.hideLoading 才能關(guān)閉提示框。

  • title:提示的內(nèi)容。
  • mask:是否顯示透明蒙層,防止觸摸穿透。

注意

  • wx.showLoading 和 wx.showToast 同時(shí)只能顯示一個(gè)
  • wx.showLoading 應(yīng)與 wx.hideLoading 配對(duì)使用

7.字符串中添加變量

// 使用 `(1旁邊的符號(hào))可以用 ${} 標(biāo)記出變量

let articleList = (pageNum) => baseAPI.request("GET", `/article/list/${pageNum}/json`);

8.箭頭函數(shù)中的this

箭頭函數(shù)完全修復(fù)了this的指向,this總是指向詞法作用域,也就是外層調(diào)用者obj。

如果使用箭頭函數(shù),以前的那種hack寫(xiě)法:var that = this; 就不再需要了。

9.數(shù)據(jù)存儲(chǔ)

wx.setStorageSync

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容