微信小程序(五)封装网络请求

1.网络请求

wx.request

1.请求banner数据

wx.request({
    url: 'https://www.wanandroid.com/banner/json',
    success:function(res){
        console.log("打印banner数据:",res);
    }
})

2.请求登入

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的区别

  • const 声明一个只读的常量,一旦声明,常量的值就不能改变。
  • let是块级作用域,声明的变量只在 let 命令所在的代码块内有效。
  • var 关键字声明的变量不具备块级作用域的特性,它在 {} 外依然能被访问到。

2-1.let 和 var 的区别

1.全局和局部的作用域类似。

2.块级作用域不同:

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

3.循环体作用域不同:

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.模块化

模块化

通过require 引入模块,返回模块通过 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。
注意:引入模块的路径只能是相对路径。

4.Promise

Promise是一个对象,它代表了一个异步操作的最终完成或者失败。

// 在回调中执行一些操作(例如异步),如果一切都正常,则调用 resolve,否则调用 reject。
var promise = new Promise(function(resolve, reject) {
    // 异步处理
    // 处理结束后、调用resolve 或 reject
});

对于已经实例化过的 promise 对象可以调用 promise.then() 方法,传递 resolve 和 reject 方法作为回调。

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

promise.then(onFulfilled, onRejected);
// promise简化了对error的处理,上面的代码我们也可以这样写:
promise.then(onFulfilled).catch(onRejected);

5.wx.showToast

wx.showToast

icon

显示消息提示框。

  • title:提示的内容。
  • icon:图标,默认'success'
  • duration:提示的延迟时间,默认1500。

6.wx.showLoading

wx.showLoading

显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框。

  • title:提示的内容。
  • mask:是否显示透明蒙层,防止触摸穿透。

注意

  • wx.showLoading 和 wx.showToast 同时只能显示一个
  • wx.showLoading 应与 wx.hideLoading 配对使用

7.字符串中添加变量

// 使用 `(1旁边的符号)可以用 ${} 标记出变量

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

8.箭头函数中的this

箭头函数完全修复了this的指向,this总是指向词法作用域,也就是外层调用者obj

如果使用箭头函数,以前的那种hack写法:var that = this; 就不再需要了。

9.数据存储

wx.setStorageSync

你可能感兴趣的:(微信小程序(五)封装网络请求)