国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序promise封裝

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序promise封裝。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一. 在utils文件夾內(nèi)創(chuàng)建一個(gè)request.js? 寫(xiě)以下封裝的?wx.request()?方法

const baseURL = 'https:// +  '域名' '; //公用總路徑地址
export const request = (params) => {      //暴露出去一個(gè)函數(shù),并且接收一個(gè)外部傳入的參數(shù)

  let dataObj = params.data || {};   //拿到傳遞進(jìn)來(lái)的參數(shù)
  let headerObj = {                  //這里 可以添加一些請(qǐng)求頭
    'content-type': 'application/json'
  }

  return new Promise((resolve, reject) => {  //通過(guò) Promise 對(duì) wx.request 方法進(jìn)行異步處理。
    wx.request({
      url: baseURL + params.url,      //通過(guò)默認(rèn)的請(qǐng)求地址,再加上外部傳入的 具體業(yè)務(wù)地址,組成一個(gè)完整的 請(qǐng)求地址。
      method: params.method || "GET",   //外部 業(yè)務(wù)調(diào)用請(qǐng)求時(shí),并傳入 所需的請(qǐng)求方法,如果沒(méi)有傳遞請(qǐng)求方法,則默認(rèn)為 GET 請(qǐng)求
      data: dataObj,                  //這里的參數(shù),來(lái)自于外部傳入的參數(shù)
      header: headerObj,
      success: res => {
        if (res.statusCode === 200) {
          resolve(res);                    // 請(qǐng)求成功后,調(diào)用 Promise 的回調(diào) resolve() 方法,將參數(shù)返回出去到 Promise 的實(shí)例對(duì)象身上。
          wx.showToast({
            title: "請(qǐng)求成功",
            icon: "success"
          })
          return;
        } else {
          wx.showToast({
            title: "請(qǐng)求失敗",
            icon: "error"
          })
          reject(res);    //同樣請(qǐng)求失敗后,向 Promise 實(shí)例返回出 錯(cuò)誤的信息
        }
      },
      // fail: err => {
      //   reject(err)    //同樣請(qǐng)求失敗后,向 Promise 實(shí)例返回出 錯(cuò)誤的信息
      // }
    })
  })
}

?二 . 在項(xiàng)目中,新建一個(gè) API文件夾,用來(lái)做請(qǐng)求接口 模塊化管理,這么做的原因是,雖然我們的請(qǐng)求接口封裝了,但是整個(gè)項(xiàng)目中,調(diào)用接口的地方太多了,如果直接在各自頁(yè)面中調(diào)用,也會(huì)顯得代碼十分的庸雜,所以不同的功能模塊接口調(diào)用,為了避免混淆在一起,建議將api 請(qǐng)求接口 抽離出去,這樣一來(lái),頁(yè)面的 js 部分就只著重于對(duì)發(fā)起請(qǐng)求前和請(qǐng)求響應(yīng)后的數(shù)據(jù)邏輯處理。

api/index/js

import { request } from "../utils/request";  //導(dǎo)入我們封裝的請(qǐng)求方法。

//首頁(yè)請(qǐng)求接口
export const index = (params) => {     //接收頁(yè)面調(diào)用傳遞過(guò)來(lái)的參數(shù)
  return request({   //調(diào)用請(qǐng)求方法
    url: "/api/science/index",   //傳入請(qǐng)求地址
    method: "GET",               //傳入請(qǐng)求方法
    data : params                //這里的參數(shù)來(lái)自于頁(yè)面調(diào)用時(shí),傳過(guò)來(lái)的參數(shù)  
  })
}

三 . 必須配置服務(wù)器白域名 必須是https開(kāi)頭的

微信小程序promise封裝,微信小程序,小程序

最后:在頁(yè)面中,調(diào)用上述模塊中相應(yīng)的 api 接口,將參數(shù)依次傳遞過(guò)去,同時(shí)由于我們的請(qǐng)求方法是采用了?Promise?的方式封裝的,所以在頁(yè)面邏輯調(diào)用時(shí),還可以 使用?async?和?await?的方式,將異步代碼做同步化處理。

// const { from } = require("form-data");
import {index} from '../../api/index.js';

// pages/demos/demos.js
Page({

  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {

  },

  async getdatas() {
    let parameter = {}         //頁(yè)面中,收集處理好,要傳遞的參數(shù)
    let data = await index(parameter);
    console.log(data);
    //data 身上就可以直接拿到,請(qǐng)求回來(lái)的數(shù)據(jù)。
    // if (data.statusCode === 200) {
    //   wx.showToast({
    //     title: "首頁(yè)加載成功",
    //     icon: "success"
    //   })
    // }
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad(options) {
    this.getdatas();
  },

  
  /**
   * 用戶點(diǎn)擊右上角分享
   */
  onShareAppMessage() {

  }
})

原創(chuàng)作者:吳小糖

創(chuàng)作時(shí)間:2023.12.22文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-769649.html

到了這里,關(guān)于微信小程序promise封裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【微信小程序】-- 使用 npm 包 - API Promise化(四十二)

    【微信小程序】-- 使用 npm 包 - API Promise化(四十二)

    ?? 所屬專欄:【微信小程序開(kāi)發(fā)教程】 ?? 作??者:我是夜闌的狗?? ?? 個(gè)人簡(jiǎn)介:一個(gè)正在努力學(xué)技術(shù)的CV工程師,專注基礎(chǔ)和實(shí)戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識(shí)的地方,喜歡的話請(qǐng)三連,有問(wèn)題請(qǐng)私信 ?? ?? ?? ??大家好,又見(jiàn)面了,

    2023年04月09日
    瀏覽(16)
  • 微信小程序封裝組件

    微信小程序封裝組件

    在日常開(kāi)發(fā)中,有頁(yè)面之間有很多相似的組件,我們可以對(duì)其相似的代碼塊進(jìn)行封裝,進(jìn)行復(fù)用 先在根目錄下創(chuàng)建一個(gè)component文件夾 在里面創(chuàng)建一個(gè)目錄wMyTop文件夾,然后右鍵點(diǎn)擊Component創(chuàng)建一個(gè)組件輸入wMyTop,回車(chē) 然后在wMyTop.json中把\\\"component\\\": true,改為true,意思就是開(kāi)啟

    2024年02月09日
    瀏覽(23)
  • 微信小程序封裝請(qǐng)求

    封裝請(qǐng)求 解決的問(wèn)題 很多頁(yè)面中請(qǐng)求的 url 前半部分都是一樣的,重復(fù)書(shū)寫(xiě)導(dǎo)致頁(yè)面代碼冗余復(fù)雜同時(shí)邏輯容易不清晰,所以采用單獨(dú)將請(qǐng)求封裝成一個(gè)文件(模塊)使得這些問(wèn)題得到解決。 前期基礎(chǔ)知識(shí) uni.request(wx.request) Promise 具體步驟 創(chuàng)建文件夾及文件 在根目錄下

    2024年02月11日
    瀏覽(16)
  • 微信小程序網(wǎng)絡(luò)請(qǐng)求封裝

    網(wǎng)絡(luò)請(qǐng)求地址放到url.js中,分別制定開(kāi)發(fā)環(huán)境,體驗(yàn)環(huán)境,線上環(huán)境 網(wǎng)絡(luò)請(qǐng)求的方法放到request.js中,暴露get、post、wxLogin方法 請(qǐng)求前顯示加載中,請(qǐng)求結(jié)束后隱藏加載中 請(qǐng)求的接口方法,放到api.js中,并調(diào)用request.js中對(duì)應(yīng)的方法 2.1 請(qǐng)求地址(url.js) 2.3 具體的請(qǐng)求方法(api.

    2024年02月15日
    瀏覽(18)
  • 微信小程序 封裝request請(qǐng)求

    創(chuàng)建 utils 文件夾后創(chuàng)建 api 文件夾創(chuàng)建 request.js 創(chuàng)建 index.js

    2024年02月15日
    瀏覽(20)
  • 微信小程序開(kāi)發(fā)者工具運(yùn)行 uni-app 項(xiàng)目時(shí)報(bào)錯(cuò) Uncaught (in promise) undefined

    微信小程序開(kāi)發(fā)者工具運(yùn)行 uni-app 項(xiàng)目時(shí)報(bào)錯(cuò) Uncaught (in promise) undefined

    開(kāi)發(fā)者工具控制臺(tái)報(bào)錯(cuò) Uncaught (in promise) undefined,如圖: 該錯(cuò)誤主要是因?yàn)檎{(diào)試基礎(chǔ)庫(kù)過(guò)高或過(guò)低導(dǎo)致的。 在 微信開(kāi)發(fā)者工具 — 詳情 — 本地設(shè)置 — 調(diào)試基礎(chǔ)庫(kù) 中,將調(diào)試基礎(chǔ)庫(kù)版本調(diào)低或調(diào)高即可 調(diào)試基礎(chǔ)庫(kù):此處選擇的基礎(chǔ)庫(kù)為微信中的基礎(chǔ)庫(kù)版本,且僅用于開(kāi)發(fā)者

    2024年02月12日
    瀏覽(40)
  • 微信小程序 wx.request 請(qǐng)求封裝

    1、添加一些統(tǒng)一的參數(shù)或者配置 2、加上默認(rèn)的請(qǐng)求頭和cookie(有就加,沒(méi)有就為空) 3、將參數(shù),即傳入的url地址、請(qǐng)求頭傳入請(qǐng)求中 4、封裝 post 和 get 請(qǐng)求,使代碼使用更加方便,以維護(hù)

    2024年02月16日
    瀏覽(22)
  • 微信小程序(原生)封裝彈框組件

    小程序封裝原生彈框組件(一個(gè)彈框,點(diǎn)擊確定關(guān)閉彈框,有需要的直接復(fù)制哦) 上面是組件的內(nèi)容,下面是引用方法 首先第一步在app.json或者單文件json文件引入 我用的比較多就在app.json引入的 下面是文件使用方法: 只需要子啊data中控制這兩個(gè)屬性就可以了,喜歡的點(diǎn)個(gè)贊

    2024年02月11日
    瀏覽(94)
  • 微信小程序,封裝身高體重選擇器組件

    微信小程序,封裝身高體重選擇器組件

    wxml代碼: scrollLeft 保證能選擇到最小值和最大值 bounces 關(guān)閉ios的回彈效果,回彈之前會(huì)有顯示復(fù)數(shù)和大于最大值的情況(也可以不關(guān)閉,設(shè)置例如:min = valmin?min:val) 6:間隔+刻度的寬度 +1 是額外加一個(gè)刻度,這樣才完整。 index%5===0: 5的倍數(shù)為長(zhǎng)刻度,否則為短刻度 wxs代碼

    2024年02月12日
    瀏覽(20)
  • 微信小程序封裝wx.request請(qǐng)求

    微信小程序封裝wx.request請(qǐng)求

    對(duì)微信小程序的印象我還停留在2年前剛?cè)胄械臅r(shí)候,那是還不懂什么是Promise,只知道小程序發(fā)請(qǐng)求有時(shí)候要在success回調(diào)中嵌套好多層(后來(lái)我才知道這叫 回調(diào)地獄 )。最近剛好有個(gè)小程序的項(xiàng)目交給我發(fā)開(kāi)發(fā),加上如今的我自認(rèn)為對(duì)Promise掌握的還可以,所以這次也嘗試著封

    2024年02月16日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包