溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序中前端promise封裝的示例分析

發(fā)布時間:2021-07-05 11:03:48 來源:億速云 閱讀:149 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“微信小程序中前端promise封裝的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信小程序中前端promise封裝的示例分析”這篇文章吧。

代碼如下

config.js

const config = {
   base_url_api : "https://douban.uieee.com/v2/movie/",
}

export {config}

http.js

import { config } from "../config";
class HTTP {
  requset({ url, method = "GET", data = {} }) {
    const promise = new Promise((resolve, reject) => {
      wx.request({
        url: config.base_url_api + url,
        data,
        method,
        header: {
          'Content-Type': 'json'
        },
        success: res => {
          //狀態(tài)碼 toString() 轉(zhuǎn)成字符串
          const statusCode = res.statusCode.toString();

          if (statusCode.startsWith("2")) {
            resolve(res.data)
          } else {
            this._show_error();
          }
        },
        fail: res => {
          reject(err);
          this._show_error();
        }
      })
    })
    return promise;
  }
  _show_error() {
    wx.showToast({
      title: '網(wǎng)絡(luò)錯誤',
      icon: 'none'
    })
  }
}
export { HTTP }

model/movie.js

import {HTTP} from "../utils/http";
class MovieModel extends HTTP{
  getInTheaters(){
    return this.requset({
      url:"in_theaters"
    })
  }
  getTop250(){
    return this.requset({
      url:"top250"
    })
  }
  getComingSoon(){
    return this.requset({
      url:"coming_soon"
    })
  }
}
export {MovieModel};

pages/index/index.js

const app = getApp();
import {MovieModel} from "../../model/movie";
const movieModel = new MovieModel();
Page({
 onLoad(){
  // movieModel.getInTheaters().then(res=>{
  //  console.log(res)
  // })
  const inTheaters = movieModel.getInTheaters()
  const top250 = movieModel.getTop250();
  const comingSoon = movieModel.getComingSoon();
  Promise.all([inTheaters,top250,comingSoon]).then(res=>{
   let[inTheaters,top250,comingSoon] = res;
   console.log(inTheaters)
  })
 }
})

以上是“微信小程序中前端promise封裝的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI