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

作者: zcwfeng | 来源:发表于2021-05-12 00:35 被阅读0次

    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

    相关文章

      网友评论

        本文标题:微信小程序(五)封装网络请求

        本文链接:https://www.haomeiwen.com/subject/mlxmdltx.html