最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Promise封裝小程序wx.request的實現方法

 更新時間:2019年11月13日 15:57:31   作者:張優(yōu)秀  
這篇文章主要介紹了使用Promise封裝小程序wx.request的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

因為業(yè)務需要,每個http請求都要加上一個請求頭,所以每次都要寫很多重復的代碼。

現在嘗試把wx.request簡單的封裝了一下,調用一個request方法,每次請求自動攜帶header頭信息,這樣就省事多了,包含了常見的get post put delete 四種請求方法,支持Promise方式調用。

封裝代碼

class request {
 constructor() {
  this._baseUrl = 'https://xxx.com/api';
  this._token = wx.getStorageSync('token');
  this._header = {'Authorization': 'Bearer ' + token}
 }

 /**
  * GET類型的網絡請求
  */
 getRequest(url, data, header = this._header) {
  return this.requestAll(url, data, header, 'GET')
 }

 /**
  * DELETE類型的網絡請求
  */
 deleteRequest(url, data, header = this._header) {
  return this.requestAll(url, data, header, 'DELETE')
 }

 /**
  * PUT類型的網絡請求
  */
 putRequest(url, data, header = this._header) {
  return this.requestAll(url, data, header, 'PUT')
 }

 /**
  * POST類型的網絡請求
  */
 postRequest(url, data, header = this._header) {
  return this.requestAll(url, data, header, 'POST')
 }

 /**
  * 網絡請求
  */
 requestAll(url, data, header, method) {
  return new Promise((resolve, reject) => {
   wx.request({
    url: this._baseUrl + url,
    data: data,
    header: header,
    method: method,
    success: (res => {
     if (res.statusCode === 200) {
      //200: 服務端業(yè)務處理正常結束
      resolve(res)
     } else {
      //其它錯誤,提示用戶錯誤信息
      reject(res)
     }
    }),
    fail: (res => {
     reject(res)
    })
   })
  })
 }
}

export default request

使用方法

在app.js中引入:

import request from './request.js'
App({
 myRequest(){
  return new request();
 }
})

然后在要使用的頁面里引入使用即可:

const app = getApp();//新建頁面時 默認引入
const ajax = app.myRequest();//初始化一個的request() 實例

Page({
 data:{},
 onLoad(){
  this.getData(); 
 },
 getData(){
  ajax.getRequest('/getList',{id: 1024}).then((res)=>{
   console.log(res);
  }).catch((err)=>{
   console.log(err);
  })
 }
})

使用方法也是異常簡單

  • 比如Get請求就是:ajax.getRequest(url: String, data: Object);
  • 比如Post請求就是:ajax.postRequest(url: String, data: Object);
  • ...

參考:

封裝wx.request

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • 小程序獲取當前位置加搜索附近熱門小區(qū)及商區(qū)的方法

    小程序獲取當前位置加搜索附近熱門小區(qū)及商區(qū)的方法

    這篇文章主要介紹了小程序獲取當前位置加搜索附近熱門小區(qū)及商區(qū)的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • 微信js-sdk地理位置接口用法示例

    微信js-sdk地理位置接口用法示例

    這篇文章主要介紹了微信js-sdk地理位置接口用法,結合實例形式分析了js-sdk地理位置接口的定義與簡單使用方法,需要的朋友可以參考下
    2016-10-10
  • js判斷手機號是否正確并返回的實現代碼

    js判斷手機號是否正確并返回的實現代碼

    這篇文章主要介紹了js判斷手機號是否正確并返回的實現代碼,以及使用正則表達式判斷手機號是否正確,需要的的朋友參考下
    2017-01-01
  • 前端js中的事件循環(huán)eventloop機制詳解

    前端js中的事件循環(huán)eventloop機制詳解

    這篇文章主要給大家介紹了關于前端js中事件循環(huán)eventloop機制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 圖片翻轉效果具體實現代碼

    圖片翻轉效果具體實現代碼

    想必大家對圖片翻轉效果都有所了解吧,其實很容易實現的,下面有個不錯的示例,喜歡的朋友可以參考下
    2014-01-01
  • javascript面向對象之定義成員方法實例分析

    javascript面向對象之定義成員方法實例分析

    這篇文章主要介紹了javascript面向對象之定義成員方法,實例分析了成員方法的定義與使用技巧,需要的朋友可以參考下
    2015-01-01
  • Ionic2開發(fā)環(huán)境搭建教程

    Ionic2開發(fā)環(huán)境搭建教程

    這篇文章主要為大家詳細介紹了Ionic2開發(fā)環(huán)境的搭建教程,文中步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JavaScript實現職責鏈模式概述

    JavaScript實現職責鏈模式概述

    這篇文章主要介紹了JavaScript實現職責鏈模式概述,詳細的介紹了什么是職責鏈模式和實現方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • elementui?日歷組件el-calendar使用總結

    elementui?日歷組件el-calendar使用總結

    這篇文章主要介紹了elementui?日歷組件el-calendar使用總結,引用dayjs處理日期,結合el-calendar完美實現,需要的朋友可以參考下
    2024-07-07
  • js正則test匹配的踩坑及解決

    js正則test匹配的踩坑及解決

    這篇文章主要為大家介紹了正則test匹配的踩坑示例講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論

黄骅市| 乳山市| 噶尔县| 横峰县| 皋兰县| 静安区| 诸城市| 大安市| 新民市| 晋中市| 尚志市| 宜宾县| 桃江县| 禹城市| 绍兴县| 五峰| 临泽县| 锦屏县| 濉溪县| 安宁市| 天门市| 霍林郭勒市| 齐河县| 都兰县| 农安县| 肃南| 宿松县| 九龙县| 兰坪| 祁东县| 伊金霍洛旗| 东乌| 光山县| 富顺县| 巫溪县| 玛纳斯县| 清水河县| 沙洋县| 禹州市| 任丘市| 五峰|